./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/array-memsafety/openbsd_cstrspn-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_cstrspn-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 e27d2e3e94b55a3b3138a7f2b03714931363cb725f69630c5958681cf34de99e --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:41:49,324 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:41:49,326 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:41:49,349 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:41:49,350 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:41:49,356 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:41:49,358 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:41:49,363 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:41:49,366 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:41:49,367 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:41:49,368 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:41:49,369 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:41:49,369 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:41:49,374 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:41:49,375 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:41:49,376 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:41:49,377 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:41:49,378 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:41:49,379 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:41:49,382 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:41:49,385 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:41:49,386 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:41:49,387 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:41:49,388 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:41:49,390 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:41:49,391 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:41:49,391 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:41:49,392 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:41:49,393 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:41:49,393 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:41:49,394 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:41:49,395 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:41:49,396 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:41:49,397 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:41:49,397 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:41:49,398 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:41:49,398 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:41:49,398 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:41:49,398 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:41:49,399 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:41:49,399 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:41:49,400 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:49,428 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:41:49,428 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:41:49,428 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:41:49,429 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:41:49,429 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:41:49,429 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:41:49,430 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:41:49,430 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:41:49,430 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:41:49,430 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:41:49,431 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:41:49,431 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:41:49,431 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:41:49,431 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:41:49,431 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:41:49,431 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:41:49,432 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:41:49,432 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:41:49,432 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:41:49,432 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:41:49,432 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:41:49,432 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:41:49,433 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:41:49,433 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:41:49,433 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:41:49,433 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:41:49,433 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:41:49,433 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:41:49,434 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:41:49,434 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:41:49,434 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 -> e27d2e3e94b55a3b3138a7f2b03714931363cb725f69630c5958681cf34de99e [2022-02-20 23:41:49,645 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:41:49,666 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:41:49,668 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:41:49,669 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:41:49,669 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:41:49,670 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/array-memsafety/openbsd_cstrspn-alloca-2.i [2022-02-20 23:41:49,711 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5c3f97579/9da705d651974e1eadf6475e1451f903/FLAGafd9f9d8c [2022-02-20 23:41:50,113 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:41:50,113 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/array-memsafety/openbsd_cstrspn-alloca-2.i [2022-02-20 23:41:50,124 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5c3f97579/9da705d651974e1eadf6475e1451f903/FLAGafd9f9d8c [2022-02-20 23:41:50,534 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/5c3f97579/9da705d651974e1eadf6475e1451f903 [2022-02-20 23:41:50,536 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:41:50,537 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:41:50,537 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:41:50,537 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:41:50,540 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:41:50,542 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:41:50" (1/1) ... [2022-02-20 23:41:50,542 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@6f790bb8 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:50, skipping insertion in model container [2022-02-20 23:41:50,543 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:41:50" (1/1) ... [2022-02-20 23:41:50,547 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:41:50,569 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:41:50,862 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:41:50,870 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:41:50,905 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:41:50,921 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:41:50,922 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:50 WrapperNode [2022-02-20 23:41:50,922 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:41:50,923 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:41:50,923 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:41:50,923 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:41:50,928 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:50" (1/1) ... [2022-02-20 23:41:50,937 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:50" (1/1) ... [2022-02-20 23:41:50,955 INFO L137 Inliner]: procedures = 117, calls = 15, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 85 [2022-02-20 23:41:50,956 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:41:50,957 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:41:50,957 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:41:50,957 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:41:50,963 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:50" (1/1) ... [2022-02-20 23:41:50,963 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:50" (1/1) ... [2022-02-20 23:41:50,965 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:50" (1/1) ... [2022-02-20 23:41:50,966 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:50" (1/1) ... [2022-02-20 23:41:50,970 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:50" (1/1) ... [2022-02-20 23:41:50,977 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:50" (1/1) ... [2022-02-20 23:41:50,978 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:50" (1/1) ... [2022-02-20 23:41:50,981 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:41:50,981 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:41:50,982 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:41:50,982 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:41:50,982 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:50" (1/1) ... [2022-02-20 23:41:51,002 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:41:51,010 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:51,038 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:51,040 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:51,067 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:41:51,067 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:41:51,067 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:41:51,068 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:41:51,068 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:41:51,068 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:41:51,155 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:41:51,156 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:41:51,463 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:41:51,468 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:41:51,470 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:41:51,472 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:41:51 BoogieIcfgContainer [2022-02-20 23:41:51,472 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:41:51,474 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:41:51,474 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:41:51,477 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:41:51,477 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:41:50" (1/3) ... [2022-02-20 23:41:51,478 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@13dc57ff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:41:51, skipping insertion in model container [2022-02-20 23:41:51,478 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:41:50" (2/3) ... [2022-02-20 23:41:51,478 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@13dc57ff and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:41:51, skipping insertion in model container [2022-02-20 23:41:51,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:51" (3/3) ... [2022-02-20 23:41:51,479 INFO L111 eAbstractionObserver]: Analyzing ICFG openbsd_cstrspn-alloca-2.i [2022-02-20 23:41:51,487 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:41:51,488 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 13 error locations. [2022-02-20 23:41:51,526 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:41:51,532 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:51,532 INFO L340 AbstractCegarLoop]: Starting to check reachability of 13 error locations. [2022-02-20 23:41:51,553 INFO L276 IsEmpty]: Start isEmpty. Operand has 43 states, 29 states have (on average 1.7586206896551724) internal successors, (51), 42 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call 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:51,556 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:41:51,557 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:51,557 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:51,557 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:51,560 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:51,561 INFO L85 PathProgramCache]: Analyzing trace with hash 1805029096, now seen corresponding path program 1 times [2022-02-20 23:41:51,567 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:51,567 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [55675099] [2022-02-20 23:41:51,567 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:51,568 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:51,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:51,752 INFO L290 TraceCheckUtils]: 0: Hoare triple {46#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {46#true} is VALID [2022-02-20 23:41:51,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {46#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {46#true} is VALID [2022-02-20 23:41:51,754 INFO L290 TraceCheckUtils]: 2: Hoare triple {46#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {48#(<= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:41:51,755 INFO L290 TraceCheckUtils]: 3: Hoare triple {48#(<= |ULTIMATE.start_main_~length1~0#1| 1)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {48#(<= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:41:51,756 INFO L290 TraceCheckUtils]: 4: Hoare triple {48#(<= |ULTIMATE.start_main_~length1~0#1| 1)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {49#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} is VALID [2022-02-20 23:41:51,757 INFO L290 TraceCheckUtils]: 5: Hoare triple {49#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= |ULTIMATE.start_main_~length1~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {47#false} is VALID [2022-02-20 23:41:51,757 INFO L290 TraceCheckUtils]: 6: Hoare triple {47#false} assume !(1 == #valid[main_~nondetString1~0#1.base]); {47#false} is VALID [2022-02-20 23:41:51,758 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:41:51,759 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:51,759 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [55675099] [2022-02-20 23:41:51,759 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [55675099] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:51,760 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:51,760 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:51,762 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1231544256] [2022-02-20 23:41:51,763 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:51,767 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:41:51,767 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:51,770 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:51,780 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:51,781 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:51,782 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:51,799 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:51,799 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:51,802 INFO L87 Difference]: Start difference. First operand has 43 states, 29 states have (on average 1.7586206896551724) internal successors, (51), 42 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:51,956 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:51,956 INFO L93 Difference]: Finished difference Result 78 states and 86 transitions. [2022-02-20 23:41:51,957 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:51,957 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:41:51,957 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:51,958 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:51,962 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 93 transitions. [2022-02-20 23:41:51,963 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:51,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 93 transitions. [2022-02-20 23:41:51,965 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 93 transitions. [2022-02-20 23:41:52,032 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:52,040 INFO L225 Difference]: With dead ends: 78 [2022-02-20 23:41:52,040 INFO L226 Difference]: Without dead ends: 74 [2022-02-20 23:41:52,042 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:52,044 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 37 mSDsluCounter, 77 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 22 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:52,045 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 121 Invalid, 22 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:52,056 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 74 states. [2022-02-20 23:41:52,062 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 74 to 44. [2022-02-20 23:41:52,063 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:52,063 INFO L82 GeneralOperation]: Start isEquivalent. First operand 74 states. Second operand has 44 states, 31 states have (on average 1.6129032258064515) internal successors, (50), 43 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,064 INFO L74 IsIncluded]: Start isIncluded. First operand 74 states. Second operand has 44 states, 31 states have (on average 1.6129032258064515) internal successors, (50), 43 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,064 INFO L87 Difference]: Start difference. First operand 74 states. Second operand has 44 states, 31 states have (on average 1.6129032258064515) internal successors, (50), 43 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,067 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,068 INFO L93 Difference]: Finished difference Result 74 states and 82 transitions. [2022-02-20 23:41:52,068 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 82 transitions. [2022-02-20 23:41:52,068 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:52,068 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:52,069 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 31 states have (on average 1.6129032258064515) internal successors, (50), 43 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 74 states. [2022-02-20 23:41:52,069 INFO L87 Difference]: Start difference. First operand has 44 states, 31 states have (on average 1.6129032258064515) internal successors, (50), 43 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 74 states. [2022-02-20 23:41:52,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,072 INFO L93 Difference]: Finished difference Result 74 states and 82 transitions. [2022-02-20 23:41:52,072 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 82 transitions. [2022-02-20 23:41:52,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:52,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:52,073 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:52,073 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:52,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 31 states have (on average 1.6129032258064515) internal successors, (50), 43 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 50 transitions. [2022-02-20 23:41:52,075 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 50 transitions. Word has length 7 [2022-02-20 23:41:52,079 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:52,080 INFO L470 AbstractCegarLoop]: Abstraction has 44 states and 50 transitions. [2022-02-20 23:41:52,080 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,080 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 50 transitions. [2022-02-20 23:41:52,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:41:52,080 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:52,081 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:52,081 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:41:52,081 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr0REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:52,081 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:52,082 INFO L85 PathProgramCache]: Analyzing trace with hash 1806876138, now seen corresponding path program 1 times [2022-02-20 23:41:52,082 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:52,082 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1112269586] [2022-02-20 23:41:52,082 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:52,082 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:52,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:52,121 INFO L290 TraceCheckUtils]: 0: Hoare triple {322#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {322#true} is VALID [2022-02-20 23:41:52,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {322#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {322#true} is VALID [2022-02-20 23:41:52,122 INFO L290 TraceCheckUtils]: 2: Hoare triple {322#true} assume !(main_~length1~0#1 < 1); {322#true} is VALID [2022-02-20 23:41:52,122 INFO L290 TraceCheckUtils]: 3: Hoare triple {322#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {322#true} is VALID [2022-02-20 23:41:52,123 INFO L290 TraceCheckUtils]: 4: Hoare triple {322#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {324#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:41:52,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {324#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {324#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:41:52,124 INFO L290 TraceCheckUtils]: 6: Hoare triple {324#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume !(1 == #valid[main_~nondetString1~0#1.base]); {323#false} is VALID [2022-02-20 23:41:52,124 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:52,125 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:52,125 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1112269586] [2022-02-20 23:41:52,125 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1112269586] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:52,125 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:52,125 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:41:52,125 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1077166726] [2022-02-20 23:41:52,126 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:52,126 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:52,127 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:52,127 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:52,132 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:52,133 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:41:52,133 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:52,133 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:41:52,134 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:41:52,134 INFO L87 Difference]: Start difference. First operand 44 states and 50 transitions. Second operand has 3 states, 2 states have (on average 3.5) internal successors, (7), 3 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,180 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-02-20 23:41:52,180 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:41:52,181 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:52,181 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:52,181 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:52,182 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 46 transitions. [2022-02-20 23:41:52,182 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:52,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 46 transitions. [2022-02-20 23:41:52,183 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 46 transitions. [2022-02-20 23:41:52,216 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:52,217 INFO L225 Difference]: With dead ends: 42 [2022-02-20 23:41:52,217 INFO L226 Difference]: Without dead ends: 42 [2022-02-20 23:41:52,217 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:52,218 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 34 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 34 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:52,219 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [34 Valid, 34 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:52,219 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 42 states. [2022-02-20 23:41:52,221 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 42 to 42. [2022-02-20 23:41:52,221 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:52,221 INFO L82 GeneralOperation]: Start isEquivalent. First operand 42 states. Second operand has 42 states, 31 states have (on average 1.5483870967741935) internal successors, (48), 41 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,222 INFO L74 IsIncluded]: Start isIncluded. First operand 42 states. Second operand has 42 states, 31 states have (on average 1.5483870967741935) internal successors, (48), 41 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,222 INFO L87 Difference]: Start difference. First operand 42 states. Second operand has 42 states, 31 states have (on average 1.5483870967741935) internal successors, (48), 41 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,223 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-02-20 23:41:52,223 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-02-20 23:41:52,223 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:52,224 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:52,224 INFO L74 IsIncluded]: Start isIncluded. First operand has 42 states, 31 states have (on average 1.5483870967741935) internal successors, (48), 41 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 42 states. [2022-02-20 23:41:52,224 INFO L87 Difference]: Start difference. First operand has 42 states, 31 states have (on average 1.5483870967741935) internal successors, (48), 41 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 42 states. [2022-02-20 23:41:52,225 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,225 INFO L93 Difference]: Finished difference Result 42 states and 48 transitions. [2022-02-20 23:41:52,225 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-02-20 23:41:52,226 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:52,226 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:52,226 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:52,226 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:52,226 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 31 states have (on average 1.5483870967741935) internal successors, (48), 41 states have internal predecessors, (48), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,227 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 48 transitions. [2022-02-20 23:41:52,227 INFO L78 Accepts]: Start accepts. Automaton has 42 states and 48 transitions. Word has length 7 [2022-02-20 23:41:52,228 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:52,228 INFO L470 AbstractCegarLoop]: Abstraction has 42 states and 48 transitions. [2022-02-20 23:41:52,228 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:52,228 INFO L276 IsEmpty]: Start isEmpty. Operand 42 states and 48 transitions. [2022-02-20 23:41:52,228 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:41:52,228 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:52,229 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:52,229 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:41:52,229 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:52,229 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:52,229 INFO L85 PathProgramCache]: Analyzing trace with hash 1806876139, now seen corresponding path program 1 times [2022-02-20 23:41:52,230 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:52,230 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [687743653] [2022-02-20 23:41:52,230 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:52,230 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:52,246 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:52,286 INFO L290 TraceCheckUtils]: 0: Hoare triple {495#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {495#true} is VALID [2022-02-20 23:41:52,286 INFO L290 TraceCheckUtils]: 1: Hoare triple {495#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {495#true} is VALID [2022-02-20 23:41:52,287 INFO L290 TraceCheckUtils]: 2: Hoare triple {495#true} assume !(main_~length1~0#1 < 1); {495#true} is VALID [2022-02-20 23:41:52,287 INFO L290 TraceCheckUtils]: 3: Hoare triple {495#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {495#true} is VALID [2022-02-20 23:41:52,288 INFO L290 TraceCheckUtils]: 4: Hoare triple {495#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {497#(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:52,289 INFO L290 TraceCheckUtils]: 5: Hoare triple {497#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {498#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:52,289 INFO L290 TraceCheckUtils]: 6: Hoare triple {498#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + main_~i~0#1) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + main_~i~0#1); {496#false} is VALID [2022-02-20 23:41:52,290 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:52,290 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:52,290 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [687743653] [2022-02-20 23:41:52,290 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [687743653] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:52,290 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:52,291 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:41:52,291 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1944659589] [2022-02-20 23:41:52,291 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:52,291 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:41:52,291 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:52,292 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,297 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:52,298 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:52,298 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:52,298 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:52,298 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:52,299 INFO L87 Difference]: Start difference. First operand 42 states and 48 transitions. Second operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,427 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,427 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2022-02-20 23:41:52,427 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:52,428 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:41:52,428 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:52,428 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 81 transitions. [2022-02-20 23:41:52,429 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,430 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 81 transitions. [2022-02-20 23:41:52,430 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 81 transitions. [2022-02-20 23:41:52,489 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:41:52,490 INFO L225 Difference]: With dead ends: 75 [2022-02-20 23:41:52,491 INFO L226 Difference]: Without dead ends: 75 [2022-02-20 23:41:52,491 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:41:52,492 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 37 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 37 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:52,492 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [37 Valid, 79 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:52,493 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 75 states. [2022-02-20 23:41:52,494 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 75 to 44. [2022-02-20 23:41:52,495 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:52,495 INFO L82 GeneralOperation]: Start isEquivalent. First operand 75 states. Second operand has 44 states, 33 states have (on average 1.5454545454545454) internal successors, (51), 43 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,495 INFO L74 IsIncluded]: Start isIncluded. First operand 75 states. Second operand has 44 states, 33 states have (on average 1.5454545454545454) internal successors, (51), 43 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,495 INFO L87 Difference]: Start difference. First operand 75 states. Second operand has 44 states, 33 states have (on average 1.5454545454545454) internal successors, (51), 43 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,497 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,497 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2022-02-20 23:41:52,497 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2022-02-20 23:41:52,497 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:52,498 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:52,498 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 33 states have (on average 1.5454545454545454) internal successors, (51), 43 states have internal predecessors, (51), 0 states have call successors, (0), 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:52,498 INFO L87 Difference]: Start difference. First operand has 44 states, 33 states have (on average 1.5454545454545454) internal successors, (51), 43 states have internal predecessors, (51), 0 states have call successors, (0), 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:52,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,500 INFO L93 Difference]: Finished difference Result 75 states and 84 transitions. [2022-02-20 23:41:52,500 INFO L276 IsEmpty]: Start isEmpty. Operand 75 states and 84 transitions. [2022-02-20 23:41:52,500 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:52,500 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:52,501 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:52,501 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:52,501 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 33 states have (on average 1.5454545454545454) internal successors, (51), 43 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,502 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 51 transitions. [2022-02-20 23:41:52,502 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 51 transitions. Word has length 7 [2022-02-20 23:41:52,502 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:52,502 INFO L470 AbstractCegarLoop]: Abstraction has 44 states and 51 transitions. [2022-02-20 23:41:52,502 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.3333333333333335) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,503 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 51 transitions. [2022-02-20 23:41:52,503 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:41:52,503 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:52,503 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:52,503 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:41:52,503 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:52,504 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:52,504 INFO L85 PathProgramCache]: Analyzing trace with hash -533876960, now seen corresponding path program 1 times [2022-02-20 23:41:52,504 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:52,504 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [718407260] [2022-02-20 23:41:52,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:52,505 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:52,519 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:52,590 INFO L290 TraceCheckUtils]: 0: Hoare triple {772#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {772#true} is VALID [2022-02-20 23:41:52,590 INFO L290 TraceCheckUtils]: 1: Hoare triple {772#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {772#true} is VALID [2022-02-20 23:41:52,592 INFO L290 TraceCheckUtils]: 2: Hoare triple {772#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {774#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,592 INFO L290 TraceCheckUtils]: 3: Hoare triple {774#(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; {775#(and (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:41:52,593 INFO L290 TraceCheckUtils]: 4: Hoare triple {775#(and (<= |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_main_~length2~0#1|) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {776#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:52,594 INFO L290 TraceCheckUtils]: 5: Hoare triple {776#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {776#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:52,594 INFO L290 TraceCheckUtils]: 6: Hoare triple {776#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {776#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:52,595 INFO L290 TraceCheckUtils]: 7: Hoare triple {776#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {776#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:52,596 INFO L290 TraceCheckUtils]: 8: Hoare triple {776#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1)) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1)); {773#false} is VALID [2022-02-20 23:41:52,596 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:52,597 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:52,597 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [718407260] [2022-02-20 23:41:52,597 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [718407260] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:52,597 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:52,597 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:52,597 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1996295457] [2022-02-20 23:41:52,598 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:52,598 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:52,598 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:52,598 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,606 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:52,606 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:52,606 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:52,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:52,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:52,607 INFO L87 Difference]: Start difference. First operand 44 states and 51 transitions. Second operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,820 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,821 INFO L93 Difference]: Finished difference Result 72 states and 81 transitions. [2022-02-20 23:41:52,821 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:41:52,821 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:52,821 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:52,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,822 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 79 transitions. [2022-02-20 23:41:52,822 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,823 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 79 transitions. [2022-02-20 23:41:52,823 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 79 transitions. [2022-02-20 23:41:52,881 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:52,882 INFO L225 Difference]: With dead ends: 72 [2022-02-20 23:41:52,882 INFO L226 Difference]: Without dead ends: 72 [2022-02-20 23:41:52,882 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:41:52,883 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 94 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 54 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 94 SdHoareTripleChecker+Valid, 121 SdHoareTripleChecker+Invalid, 55 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 54 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:52,883 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [94 Valid, 121 Invalid, 55 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 54 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:52,883 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 72 states. [2022-02-20 23:41:52,885 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 72 to 50. [2022-02-20 23:41:52,885 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:52,885 INFO L82 GeneralOperation]: Start isEquivalent. First operand 72 states. Second operand has 50 states, 39 states have (on average 1.5384615384615385) internal successors, (60), 49 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,885 INFO L74 IsIncluded]: Start isIncluded. First operand 72 states. Second operand has 50 states, 39 states have (on average 1.5384615384615385) internal successors, (60), 49 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,885 INFO L87 Difference]: Start difference. First operand 72 states. Second operand has 50 states, 39 states have (on average 1.5384615384615385) internal successors, (60), 49 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,886 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,887 INFO L93 Difference]: Finished difference Result 72 states and 81 transitions. [2022-02-20 23:41:52,887 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2022-02-20 23:41:52,887 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:52,887 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:52,888 INFO L74 IsIncluded]: Start isIncluded. First operand has 50 states, 39 states have (on average 1.5384615384615385) internal successors, (60), 49 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 72 states. [2022-02-20 23:41:52,888 INFO L87 Difference]: Start difference. First operand has 50 states, 39 states have (on average 1.5384615384615385) internal successors, (60), 49 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 72 states. [2022-02-20 23:41:52,889 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:52,889 INFO L93 Difference]: Finished difference Result 72 states and 81 transitions. [2022-02-20 23:41:52,890 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 81 transitions. [2022-02-20 23:41:52,890 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:52,890 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:52,890 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:52,890 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:52,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 50 states, 39 states have (on average 1.5384615384615385) internal successors, (60), 49 states have internal predecessors, (60), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 50 states to 50 states and 60 transitions. [2022-02-20 23:41:52,891 INFO L78 Accepts]: Start accepts. Automaton has 50 states and 60 transitions. Word has length 9 [2022-02-20 23:41:52,892 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:52,892 INFO L470 AbstractCegarLoop]: Abstraction has 50 states and 60 transitions. [2022-02-20 23:41:52,892 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,892 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 60 transitions. [2022-02-20 23:41:52,892 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:41:52,892 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:52,893 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:52,893 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:41:52,893 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:52,893 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:52,893 INFO L85 PathProgramCache]: Analyzing trace with hash -533876908, now seen corresponding path program 1 times [2022-02-20 23:41:52,893 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:52,894 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [934731414] [2022-02-20 23:41:52,894 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:52,894 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:52,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:52,939 INFO L290 TraceCheckUtils]: 0: Hoare triple {1049#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1049#true} is VALID [2022-02-20 23:41:52,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {1049#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {1049#true} is VALID [2022-02-20 23:41:52,940 INFO L290 TraceCheckUtils]: 2: Hoare triple {1049#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {1049#true} is VALID [2022-02-20 23:41:52,940 INFO L290 TraceCheckUtils]: 3: Hoare triple {1049#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {1051#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:41:52,941 INFO L290 TraceCheckUtils]: 4: Hoare triple {1051#(<= |ULTIMATE.start_main_~length2~0#1| 1)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {1051#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:41:52,941 INFO L290 TraceCheckUtils]: 5: Hoare triple {1051#(<= |ULTIMATE.start_main_~length2~0#1| 1)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {1051#(<= |ULTIMATE.start_main_~length2~0#1| 1)} is VALID [2022-02-20 23:41:52,941 INFO L290 TraceCheckUtils]: 6: Hoare triple {1051#(<= |ULTIMATE.start_main_~length2~0#1| 1)} main_~i~1#1 := 0; {1052#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} is VALID [2022-02-20 23:41:52,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {1052#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {1050#false} is VALID [2022-02-20 23:41:52,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {1050#false} assume !(1 == #valid[main_~nondetString2~0#1.base]); {1050#false} is VALID [2022-02-20 23:41:52,942 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:52,943 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:52,943 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [934731414] [2022-02-20 23:41:52,943 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [934731414] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:52,952 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:52,952 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:52,953 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1528637922] [2022-02-20 23:41:52,953 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:52,953 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:52,953 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:52,954 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:52,959 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:52,962 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:52,962 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:52,963 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:52,963 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:52,963 INFO L87 Difference]: Start difference. First operand 50 states and 60 transitions. Second operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,021 INFO L93 Difference]: Finished difference Result 87 states and 100 transitions. [2022-02-20 23:41:53,022 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:53,022 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:53,023 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:53,023 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,024 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 77 transitions. [2022-02-20 23:41:53,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 77 transitions. [2022-02-20 23:41:53,025 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 77 transitions. [2022-02-20 23:41:53,074 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:53,075 INFO L225 Difference]: With dead ends: 87 [2022-02-20 23:41:53,075 INFO L226 Difference]: Without dead ends: 87 [2022-02-20 23:41:53,076 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:53,077 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 54 mSDsluCounter, 42 mSDsCounter, 0 mSdLazyCounter, 13 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 54 SdHoareTripleChecker+Valid, 82 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 13 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:53,078 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [54 Valid, 82 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 13 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:53,079 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 87 states. [2022-02-20 23:41:53,082 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 87 to 63. [2022-02-20 23:41:53,082 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:53,082 INFO L82 GeneralOperation]: Start isEquivalent. First operand 87 states. Second operand has 63 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,082 INFO L74 IsIncluded]: Start isIncluded. First operand 87 states. Second operand has 63 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,082 INFO L87 Difference]: Start difference. First operand 87 states. Second operand has 63 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,084 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,084 INFO L93 Difference]: Finished difference Result 87 states and 100 transitions. [2022-02-20 23:41:53,084 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 100 transitions. [2022-02-20 23:41:53,084 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,084 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 87 states. [2022-02-20 23:41:53,084 INFO L87 Difference]: Start difference. First operand has 63 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 87 states. [2022-02-20 23:41:53,086 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,086 INFO L93 Difference]: Finished difference Result 87 states and 100 transitions. [2022-02-20 23:41:53,086 INFO L276 IsEmpty]: Start isEmpty. Operand 87 states and 100 transitions. [2022-02-20 23:41:53,086 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,086 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,086 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:53,086 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:53,086 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 52 states have (on average 1.4615384615384615) internal successors, (76), 62 states have internal predecessors, (76), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,087 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 76 transitions. [2022-02-20 23:41:53,087 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 76 transitions. Word has length 9 [2022-02-20 23:41:53,087 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:53,087 INFO L470 AbstractCegarLoop]: Abstraction has 63 states and 76 transitions. [2022-02-20 23:41:53,088 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 2.25) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,088 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-02-20 23:41:53,088 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:41:53,088 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:53,088 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:53,088 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:41:53,088 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:53,088 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:53,088 INFO L85 PathProgramCache]: Analyzing trace with hash -476618606, now seen corresponding path program 1 times [2022-02-20 23:41:53,089 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:53,089 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1655210987] [2022-02-20 23:41:53,089 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:53,089 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:53,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:53,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {1379#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1379#true} is VALID [2022-02-20 23:41:53,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {1379#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {1379#true} is VALID [2022-02-20 23:41:53,161 INFO L290 TraceCheckUtils]: 2: Hoare triple {1379#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {1379#true} is VALID [2022-02-20 23:41:53,161 INFO L290 TraceCheckUtils]: 3: Hoare triple {1379#true} assume !(main_~length2~0#1 < 1); {1379#true} is VALID [2022-02-20 23:41:53,162 INFO L290 TraceCheckUtils]: 4: Hoare triple {1379#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {1381#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:53,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {1381#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {1381#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:53,163 INFO L290 TraceCheckUtils]: 6: Hoare triple {1381#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} main_~i~1#1 := 0; {1381#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:53,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {1381#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {1381#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:53,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {1381#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume !(1 == #valid[main_~nondetString2~0#1.base]); {1380#false} is VALID [2022-02-20 23:41:53,164 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:53,164 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:53,164 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1655210987] [2022-02-20 23:41:53,165 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1655210987] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:53,165 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:53,165 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:41:53,165 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1575767633] [2022-02-20 23:41:53,165 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:53,165 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:53,166 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:53,166 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,172 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:53,172 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:41:53,172 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:53,173 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:41:53,173 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:41:53,173 INFO L87 Difference]: Start difference. First operand 63 states and 76 transitions. Second operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,209 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,210 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-02-20 23:41:53,210 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:41:53,210 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:53,210 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:53,210 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,211 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 44 transitions. [2022-02-20 23:41:53,211 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,212 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 44 transitions. [2022-02-20 23:41:53,212 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 44 transitions. [2022-02-20 23:41:53,241 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:53,242 INFO L225 Difference]: With dead ends: 61 [2022-02-20 23:41:53,242 INFO L226 Difference]: Without dead ends: 61 [2022-02-20 23:41:53,242 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:53,243 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 30 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 16 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 34 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 16 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:53,243 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 34 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 16 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:53,244 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 61 states. [2022-02-20 23:41:53,245 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 61 to 61. [2022-02-20 23:41:53,245 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:53,246 INFO L82 GeneralOperation]: Start isEquivalent. First operand 61 states. Second operand has 61 states, 52 states have (on average 1.4038461538461537) internal successors, (73), 60 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,246 INFO L74 IsIncluded]: Start isIncluded. First operand 61 states. Second operand has 61 states, 52 states have (on average 1.4038461538461537) internal successors, (73), 60 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,246 INFO L87 Difference]: Start difference. First operand 61 states. Second operand has 61 states, 52 states have (on average 1.4038461538461537) internal successors, (73), 60 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,247 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-02-20 23:41:53,247 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-02-20 23:41:53,248 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,248 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,248 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 52 states have (on average 1.4038461538461537) internal successors, (73), 60 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 61 states. [2022-02-20 23:41:53,248 INFO L87 Difference]: Start difference. First operand has 61 states, 52 states have (on average 1.4038461538461537) internal successors, (73), 60 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 61 states. [2022-02-20 23:41:53,249 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,249 INFO L93 Difference]: Finished difference Result 61 states and 73 transitions. [2022-02-20 23:41:53,249 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-02-20 23:41:53,250 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,250 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,250 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:53,250 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:53,250 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 52 states have (on average 1.4038461538461537) internal successors, (73), 60 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,251 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 73 transitions. [2022-02-20 23:41:53,251 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 73 transitions. Word has length 9 [2022-02-20 23:41:53,251 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:53,251 INFO L470 AbstractCegarLoop]: Abstraction has 61 states and 73 transitions. [2022-02-20 23:41:53,252 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 4.5) internal successors, (9), 3 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,252 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 73 transitions. [2022-02-20 23:41:53,252 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:41:53,252 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:53,252 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:53,252 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 23:41:53,252 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:53,253 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:53,253 INFO L85 PathProgramCache]: Analyzing trace with hash -476618605, now seen corresponding path program 1 times [2022-02-20 23:41:53,253 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:53,253 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1729855892] [2022-02-20 23:41:53,253 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:53,253 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:53,265 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:53,311 INFO L290 TraceCheckUtils]: 0: Hoare triple {1628#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1628#true} is VALID [2022-02-20 23:41:53,311 INFO L290 TraceCheckUtils]: 1: Hoare triple {1628#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {1628#true} is VALID [2022-02-20 23:41:53,311 INFO L290 TraceCheckUtils]: 2: Hoare triple {1628#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {1628#true} is VALID [2022-02-20 23:41:53,311 INFO L290 TraceCheckUtils]: 3: Hoare triple {1628#true} assume !(main_~length2~0#1 < 1); {1628#true} is VALID [2022-02-20 23:41:53,314 INFO L290 TraceCheckUtils]: 4: Hoare triple {1628#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {1630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:53,315 INFO L290 TraceCheckUtils]: 5: Hoare triple {1630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {1630#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:53,316 INFO L290 TraceCheckUtils]: 6: Hoare triple {1630#(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; {1631#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:53,316 INFO L290 TraceCheckUtils]: 7: Hoare triple {1631#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {1632#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:53,318 INFO L290 TraceCheckUtils]: 8: Hoare triple {1632#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(1 + (main_~nondetString2~0#1.offset + main_~i~1#1) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + main_~i~1#1); {1629#false} is VALID [2022-02-20 23:41:53,318 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:53,319 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:53,319 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1729855892] [2022-02-20 23:41:53,319 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1729855892] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:53,319 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:53,319 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:53,319 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1636034767] [2022-02-20 23:41:53,319 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:53,320 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:53,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:53,320 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,327 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:53,327 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:53,327 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:53,327 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:53,328 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:53,328 INFO L87 Difference]: Start difference. First operand 61 states and 73 transitions. Second operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,466 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,466 INFO L93 Difference]: Finished difference Result 91 states and 106 transitions. [2022-02-20 23:41:53,466 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:41:53,467 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:53,467 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:53,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,467 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-02-20 23:41:53,467 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 70 transitions. [2022-02-20 23:41:53,468 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 70 transitions. [2022-02-20 23:41:53,517 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:41:53,518 INFO L225 Difference]: With dead ends: 91 [2022-02-20 23:41:53,518 INFO L226 Difference]: Without dead ends: 91 [2022-02-20 23:41:53,519 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:53,519 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 62 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 62 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:53,519 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [62 Valid, 73 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:53,520 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-02-20 23:41:53,521 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 65. [2022-02-20 23:41:53,521 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:53,522 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 65 states, 56 states have (on average 1.4107142857142858) internal successors, (79), 64 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,522 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 65 states, 56 states have (on average 1.4107142857142858) internal successors, (79), 64 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,522 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 65 states, 56 states have (on average 1.4107142857142858) internal successors, (79), 64 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,523 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,524 INFO L93 Difference]: Finished difference Result 91 states and 106 transitions. [2022-02-20 23:41:53,524 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 106 transitions. [2022-02-20 23:41:53,524 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,524 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,524 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 56 states have (on average 1.4107142857142858) internal successors, (79), 64 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 91 states. [2022-02-20 23:41:53,524 INFO L87 Difference]: Start difference. First operand has 65 states, 56 states have (on average 1.4107142857142858) internal successors, (79), 64 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 91 states. [2022-02-20 23:41:53,526 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,526 INFO L93 Difference]: Finished difference Result 91 states and 106 transitions. [2022-02-20 23:41:53,526 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 106 transitions. [2022-02-20 23:41:53,526 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:53,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:53,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 56 states have (on average 1.4107142857142858) internal successors, (79), 64 states have internal predecessors, (79), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,527 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 79 transitions. [2022-02-20 23:41:53,528 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 79 transitions. Word has length 9 [2022-02-20 23:41:53,528 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:53,528 INFO L470 AbstractCegarLoop]: Abstraction has 65 states and 79 transitions. [2022-02-20 23:41:53,528 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 5 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,528 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 79 transitions. [2022-02-20 23:41:53,528 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:41:53,528 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:53,528 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:53,529 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-02-20 23:41:53,529 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:53,529 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:53,529 INFO L85 PathProgramCache]: Analyzing trace with hash 1241130402, now seen corresponding path program 1 times [2022-02-20 23:41:53,529 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:53,529 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1493335490] [2022-02-20 23:41:53,529 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:53,530 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:53,540 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:53,563 INFO L290 TraceCheckUtils]: 0: Hoare triple {1975#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1975#true} is VALID [2022-02-20 23:41:53,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {1975#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {1975#true} is VALID [2022-02-20 23:41:53,563 INFO L290 TraceCheckUtils]: 2: Hoare triple {1975#true} assume !(main_~length1~0#1 < 1); {1977#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:53,564 INFO L290 TraceCheckUtils]: 3: Hoare triple {1977#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {1977#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:53,564 INFO L290 TraceCheckUtils]: 4: Hoare triple {1977#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {1978#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:53,565 INFO L290 TraceCheckUtils]: 5: Hoare triple {1978#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {1978#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:53,565 INFO L290 TraceCheckUtils]: 6: Hoare triple {1978#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {1978#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:53,566 INFO L290 TraceCheckUtils]: 7: Hoare triple {1978#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {1978#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:53,566 INFO L290 TraceCheckUtils]: 8: Hoare triple {1978#(and (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1)) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1)); {1976#false} is VALID [2022-02-20 23:41:53,566 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:53,567 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:53,567 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1493335490] [2022-02-20 23:41:53,567 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1493335490] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:53,567 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:53,567 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:41:53,567 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [529546814] [2022-02-20 23:41:53,567 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:53,568 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:53,568 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:53,568 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 9 edges. 9 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:53,574 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:53,574 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:53,574 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:53,574 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:53,575 INFO L87 Difference]: Start difference. First operand 65 states and 79 transitions. Second operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,617 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-02-20 23:41:53,618 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:53,618 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 9 [2022-02-20 23:41:53,618 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:53,618 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,618 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 42 transitions. [2022-02-20 23:41:53,619 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,619 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 42 transitions. [2022-02-20 23:41:53,619 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 42 transitions. [2022-02-20 23:41:53,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:53,650 INFO L225 Difference]: With dead ends: 64 [2022-02-20 23:41:53,650 INFO L226 Difference]: Without dead ends: 64 [2022-02-20 23:41:53,651 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:53,651 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 36 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 36 SdHoareTripleChecker+Valid, 30 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:53,651 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [36 Valid, 30 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:53,652 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 64 states. [2022-02-20 23:41:53,653 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 64 to 54. [2022-02-20 23:41:53,653 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:53,653 INFO L82 GeneralOperation]: Start isEquivalent. First operand 64 states. Second operand has 54 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 53 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,654 INFO L74 IsIncluded]: Start isIncluded. First operand 64 states. Second operand has 54 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 53 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,654 INFO L87 Difference]: Start difference. First operand 64 states. Second operand has 54 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 53 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,655 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,655 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-02-20 23:41:53,655 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-02-20 23:41:53,655 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,655 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,655 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 53 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 64 states. [2022-02-20 23:41:53,656 INFO L87 Difference]: Start difference. First operand has 54 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 53 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 64 states. [2022-02-20 23:41:53,657 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,657 INFO L93 Difference]: Finished difference Result 64 states and 78 transitions. [2022-02-20 23:41:53,657 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 78 transitions. [2022-02-20 23:41:53,657 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,657 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,657 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:53,657 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:53,657 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 46 states have (on average 1.4130434782608696) internal successors, (65), 53 states have internal predecessors, (65), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,658 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 65 transitions. [2022-02-20 23:41:53,658 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 65 transitions. Word has length 9 [2022-02-20 23:41:53,658 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:53,658 INFO L470 AbstractCegarLoop]: Abstraction has 54 states and 65 transitions. [2022-02-20 23:41:53,659 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.0) internal successors, (9), 4 states have internal predecessors, (9), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,659 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-02-20 23:41:53,659 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 23:41:53,659 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:53,659 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:53,659 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7 [2022-02-20 23:41:53,659 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr7REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:53,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:53,660 INFO L85 PathProgramCache]: Analyzing trace with hash 629683418, now seen corresponding path program 1 times [2022-02-20 23:41:53,660 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:53,660 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [965792404] [2022-02-20 23:41:53,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:53,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:53,671 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:53,692 INFO L290 TraceCheckUtils]: 0: Hoare triple {2227#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2227#true} is VALID [2022-02-20 23:41:53,693 INFO L290 TraceCheckUtils]: 1: Hoare triple {2227#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2227#true} is VALID [2022-02-20 23:41:53,693 INFO L290 TraceCheckUtils]: 2: Hoare triple {2227#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2227#true} is VALID [2022-02-20 23:41:53,693 INFO L290 TraceCheckUtils]: 3: Hoare triple {2227#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2229#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:53,694 INFO L290 TraceCheckUtils]: 4: Hoare triple {2229#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {2230#(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:53,694 INFO L290 TraceCheckUtils]: 5: Hoare triple {2230#(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 - 1); {2230#(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:53,695 INFO L290 TraceCheckUtils]: 6: Hoare triple {2230#(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; {2230#(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:53,695 INFO L290 TraceCheckUtils]: 7: Hoare triple {2230#(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~1#1 < main_~length2~0#1 - 1); {2230#(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:53,696 INFO L290 TraceCheckUtils]: 8: Hoare triple {2230#(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(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {2230#(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:53,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {2230#(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 !(1 + (main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1)) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1)); {2228#false} is VALID [2022-02-20 23:41:53,696 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:53,697 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:53,697 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [965792404] [2022-02-20 23:41:53,697 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [965792404] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:53,697 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:53,697 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:41:53,697 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1172317891] [2022-02-20 23:41:53,697 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:53,697 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 23:41:53,698 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:53,698 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,704 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 10 edges. 10 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:53,704 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:53,704 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:53,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:53,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:53,705 INFO L87 Difference]: Start difference. First operand 54 states and 65 transitions. Second operand has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,757 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,757 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-02-20 23:41:53,757 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:53,758 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 23:41:53,758 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:53,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,758 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 41 transitions. [2022-02-20 23:41:53,758 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 41 transitions. [2022-02-20 23:41:53,759 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 41 transitions. [2022-02-20 23:41:53,802 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:41:53,803 INFO L225 Difference]: With dead ends: 53 [2022-02-20 23:41:53,803 INFO L226 Difference]: Without dead ends: 53 [2022-02-20 23:41:53,803 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:53,803 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 63 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 63 SdHoareTripleChecker+Valid, 29 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:53,804 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [63 Valid, 29 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:53,804 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 53 states. [2022-02-20 23:41:53,805 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 53 to 53. [2022-02-20 23:41:53,805 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:53,806 INFO L82 GeneralOperation]: Start isEquivalent. First operand 53 states. Second operand has 53 states, 46 states have (on average 1.391304347826087) internal successors, (64), 52 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,806 INFO L74 IsIncluded]: Start isIncluded. First operand 53 states. Second operand has 53 states, 46 states have (on average 1.391304347826087) internal successors, (64), 52 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,806 INFO L87 Difference]: Start difference. First operand 53 states. Second operand has 53 states, 46 states have (on average 1.391304347826087) internal successors, (64), 52 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,807 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,807 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-02-20 23:41:53,807 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-02-20 23:41:53,807 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,807 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,808 INFO L74 IsIncluded]: Start isIncluded. First operand has 53 states, 46 states have (on average 1.391304347826087) internal successors, (64), 52 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 53 states. [2022-02-20 23:41:53,808 INFO L87 Difference]: Start difference. First operand has 53 states, 46 states have (on average 1.391304347826087) internal successors, (64), 52 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 53 states. [2022-02-20 23:41:53,808 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:53,808 INFO L93 Difference]: Finished difference Result 53 states and 64 transitions. [2022-02-20 23:41:53,808 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-02-20 23:41:53,809 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:53,809 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:53,809 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:53,809 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:53,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 53 states, 46 states have (on average 1.391304347826087) internal successors, (64), 52 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,809 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 53 states to 53 states and 64 transitions. [2022-02-20 23:41:53,810 INFO L78 Accepts]: Start accepts. Automaton has 53 states and 64 transitions. Word has length 10 [2022-02-20 23:41:53,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:53,810 INFO L470 AbstractCegarLoop]: Abstraction has 53 states and 64 transitions. [2022-02-20 23:41:53,810 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 3.3333333333333335) internal successors, (10), 4 states have internal predecessors, (10), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:53,810 INFO L276 IsEmpty]: Start isEmpty. Operand 53 states and 64 transitions. [2022-02-20 23:41:53,810 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:41:53,810 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:53,810 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:53,811 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 23:41:53,811 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:53,811 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:53,811 INFO L85 PathProgramCache]: Analyzing trace with hash -1226025170, now seen corresponding path program 1 times [2022-02-20 23:41:53,811 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:53,811 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [955130036] [2022-02-20 23:41:53,811 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:53,811 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:53,826 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:53,877 INFO L290 TraceCheckUtils]: 0: Hoare triple {2445#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2445#true} is VALID [2022-02-20 23:41:53,877 INFO L290 TraceCheckUtils]: 1: Hoare triple {2445#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2445#true} is VALID [2022-02-20 23:41:53,877 INFO L290 TraceCheckUtils]: 2: Hoare triple {2445#true} assume !(main_~length1~0#1 < 1); {2445#true} is VALID [2022-02-20 23:41:53,877 INFO L290 TraceCheckUtils]: 3: Hoare triple {2445#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2445#true} is VALID [2022-02-20 23:41:53,878 INFO L290 TraceCheckUtils]: 4: Hoare triple {2445#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {2447#(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:53,879 INFO L290 TraceCheckUtils]: 5: Hoare triple {2447#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {2447#(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:53,879 INFO L290 TraceCheckUtils]: 6: Hoare triple {2447#(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~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {2447#(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:53,879 INFO L290 TraceCheckUtils]: 7: Hoare triple {2447#(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~nondet11#1; {2447#(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:53,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {2447#(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~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {2448#(and (= |ULTIMATE.start_main_~length1~0#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:53,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {2448#(and (= |ULTIMATE.start_main_~length1~0#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 !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {2449#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:53,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {2449#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + main_~i~0#1) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + main_~i~0#1); {2446#false} is VALID [2022-02-20 23:41:53,881 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:53,881 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:53,881 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [955130036] [2022-02-20 23:41:53,882 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [955130036] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:53,882 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [693552645] [2022-02-20 23:41:53,882 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:53,882 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:53,882 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:53,883 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:53,887 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:53,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:53,941 INFO L263 TraceCheckSpWp]: Trace formula consists of 70 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:41:53,952 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:53,955 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:54,089 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:41:54,098 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:54,109 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:54,217 INFO L290 TraceCheckUtils]: 0: Hoare triple {2445#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2445#true} is VALID [2022-02-20 23:41:54,218 INFO L290 TraceCheckUtils]: 1: Hoare triple {2445#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2445#true} is VALID [2022-02-20 23:41:54,218 INFO L290 TraceCheckUtils]: 2: Hoare triple {2445#true} assume !(main_~length1~0#1 < 1); {2445#true} is VALID [2022-02-20 23:41:54,218 INFO L290 TraceCheckUtils]: 3: Hoare triple {2445#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2445#true} is VALID [2022-02-20 23:41:54,219 INFO L290 TraceCheckUtils]: 4: Hoare triple {2445#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {2465#(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:54,219 INFO L290 TraceCheckUtils]: 5: Hoare triple {2465#(and (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~0#1|))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {2465#(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:54,220 INFO L290 TraceCheckUtils]: 6: Hoare triple {2465#(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~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {2465#(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:54,220 INFO L290 TraceCheckUtils]: 7: Hoare triple {2465#(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~nondet11#1; {2465#(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:54,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {2465#(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~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {2478#(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:54,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {2478#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {2449#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:54,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {2449#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(1 + (main_~nondetString1~0#1.offset + main_~i~0#1) <= #length[main_~nondetString1~0#1.base] && 0 <= main_~nondetString1~0#1.offset + main_~i~0#1); {2446#false} is VALID [2022-02-20 23:41:54,222 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:54,222 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:54,599 INFO L290 TraceCheckUtils]: 10: Hoare triple {2485#(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); {2446#false} is VALID [2022-02-20 23:41:54,600 INFO L290 TraceCheckUtils]: 9: Hoare triple {2489#(or (and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {2485#(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:54,601 INFO L290 TraceCheckUtils]: 8: Hoare triple {2493#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {2489#(or (and (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1|))) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:41:54,601 INFO L290 TraceCheckUtils]: 7: Hoare triple {2493#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} havoc main_#t~nondet11#1; {2493#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} is VALID [2022-02-20 23:41:54,602 INFO L290 TraceCheckUtils]: 6: Hoare triple {2493#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {2493#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} is VALID [2022-02-20 23:41:54,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {2493#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {2493#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} is VALID [2022-02-20 23:41:54,603 INFO L290 TraceCheckUtils]: 4: Hoare triple {2445#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {2493#(and (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~i~0#1| 1))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1))))} is VALID [2022-02-20 23:41:54,603 INFO L290 TraceCheckUtils]: 3: Hoare triple {2445#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2445#true} is VALID [2022-02-20 23:41:54,603 INFO L290 TraceCheckUtils]: 2: Hoare triple {2445#true} assume !(main_~length1~0#1 < 1); {2445#true} is VALID [2022-02-20 23:41:54,604 INFO L290 TraceCheckUtils]: 1: Hoare triple {2445#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2445#true} is VALID [2022-02-20 23:41:54,604 INFO L290 TraceCheckUtils]: 0: Hoare triple {2445#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2445#true} is VALID [2022-02-20 23:41:54,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:54,604 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [693552645] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:54,604 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:54,604 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 9 [2022-02-20 23:41:54,604 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1806819542] [2022-02-20 23:41:54,604 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:54,604 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 10 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:41:54,604 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:54,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 10 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:54,620 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 24 edges. 24 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:54,620 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:41:54,620 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:54,620 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:41:54,621 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=32, Invalid=58, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:41:54,621 INFO L87 Difference]: Start difference. First operand 53 states and 64 transitions. Second operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 10 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,034 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,035 INFO L93 Difference]: Finished difference Result 116 states and 134 transitions. [2022-02-20 23:41:55,035 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:41:55,035 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 10 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:41:55,035 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:55,035 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 10 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-02-20 23:41:55,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 10 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,036 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 101 transitions. [2022-02-20 23:41:55,036 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 101 transitions. [2022-02-20 23:41:55,125 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 101 edges. 101 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:55,125 INFO L225 Difference]: With dead ends: 116 [2022-02-20 23:41:55,126 INFO L226 Difference]: Without dead ends: 116 [2022-02-20 23:41:55,126 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 15 SyntacticMatches, 1 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 15 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=57, Invalid=99, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:41:55,126 INFO L933 BasicCegarLoop]: 63 mSDtfsCounter, 172 mSDsluCounter, 148 mSDsCounter, 0 mSdLazyCounter, 135 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 172 SdHoareTripleChecker+Valid, 211 SdHoareTripleChecker+Invalid, 142 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 135 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:55,126 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [172 Valid, 211 Invalid, 142 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 135 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:55,127 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 116 states. [2022-02-20 23:41:55,131 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 116 to 48. [2022-02-20 23:41:55,131 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:55,131 INFO L82 GeneralOperation]: Start isEquivalent. First operand 116 states. Second operand has 48 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,131 INFO L74 IsIncluded]: Start isIncluded. First operand 116 states. Second operand has 48 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,131 INFO L87 Difference]: Start difference. First operand 116 states. Second operand has 48 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,132 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,133 INFO L93 Difference]: Finished difference Result 116 states and 134 transitions. [2022-02-20 23:41:55,133 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 134 transitions. [2022-02-20 23:41:55,133 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:55,133 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:55,133 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 116 states. [2022-02-20 23:41:55,133 INFO L87 Difference]: Start difference. First operand has 48 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 116 states. [2022-02-20 23:41:55,134 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,134 INFO L93 Difference]: Finished difference Result 116 states and 134 transitions. [2022-02-20 23:41:55,135 INFO L276 IsEmpty]: Start isEmpty. Operand 116 states and 134 transitions. [2022-02-20 23:41:55,135 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:55,135 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:55,135 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:55,135 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:55,135 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 47 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 56 transitions. [2022-02-20 23:41:55,136 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 56 transitions. Word has length 11 [2022-02-20 23:41:55,136 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:55,136 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 56 transitions. [2022-02-20 23:41:55,136 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.6666666666666665) internal successors, (24), 10 states have internal predecessors, (24), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,136 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 56 transitions. [2022-02-20 23:41:55,136 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:41:55,136 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:55,137 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:55,155 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-02-20 23:41:55,347 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable9 [2022-02-20 23:41:55,347 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr8REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:55,348 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:55,348 INFO L85 PathProgramCache]: Analyzing trace with hash -1518446205, now seen corresponding path program 1 times [2022-02-20 23:41:55,348 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:55,348 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1112052208] [2022-02-20 23:41:55,348 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:55,348 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:55,360 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:55,377 INFO L290 TraceCheckUtils]: 0: Hoare triple {2919#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2919#true} is VALID [2022-02-20 23:41:55,377 INFO L290 TraceCheckUtils]: 1: Hoare triple {2919#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {2919#true} is VALID [2022-02-20 23:41:55,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {2919#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {2919#true} is VALID [2022-02-20 23:41:55,378 INFO L290 TraceCheckUtils]: 3: Hoare triple {2919#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {2919#true} is VALID [2022-02-20 23:41:55,378 INFO L290 TraceCheckUtils]: 4: Hoare triple {2919#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {2919#true} is VALID [2022-02-20 23:41:55,378 INFO L290 TraceCheckUtils]: 5: Hoare triple {2919#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {2919#true} is VALID [2022-02-20 23:41:55,378 INFO L290 TraceCheckUtils]: 6: Hoare triple {2919#true} main_~i~1#1 := 0; {2919#true} is VALID [2022-02-20 23:41:55,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {2919#true} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {2919#true} is VALID [2022-02-20 23:41:55,379 INFO L290 TraceCheckUtils]: 8: Hoare triple {2919#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {2921#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:41:55,380 INFO L290 TraceCheckUtils]: 9: Hoare triple {2921#(= (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: L545 {2921#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} is VALID [2022-02-20 23:41:55,380 INFO L290 TraceCheckUtils]: 10: Hoare triple {2921#(= (select |#valid| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1)} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {2922#(= (select |#valid| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1)} is VALID [2022-02-20 23:41:55,387 INFO L290 TraceCheckUtils]: 11: Hoare triple {2922#(= (select |#valid| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {2923#(= (select |#valid| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 1)} is VALID [2022-02-20 23:41:55,389 INFO L290 TraceCheckUtils]: 12: Hoare triple {2923#(= (select |#valid| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 1)} assume !(1 == #valid[cstrspn_#t~post2#1.base]); {2920#false} is VALID [2022-02-20 23:41:55,390 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,390 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:55,390 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1112052208] [2022-02-20 23:41:55,390 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1112052208] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:55,390 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:55,390 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:41:55,390 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [608698315] [2022-02-20 23:41:55,391 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:55,391 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:55,391 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:55,391 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:55,398 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:55,399 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:41:55,399 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:55,399 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:41:55,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:41:55,399 INFO L87 Difference]: Start difference. First operand 48 states and 56 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:55,487 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,487 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2022-02-20 23:41:55,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:41:55,487 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:55,488 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:55,488 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:55,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-02-20 23:41:55,488 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:55,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 39 transitions. [2022-02-20 23:41:55,489 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 39 transitions. [2022-02-20 23:41:55,514 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 39 edges. 39 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:55,514 INFO L225 Difference]: With dead ends: 47 [2022-02-20 23:41:55,514 INFO L226 Difference]: Without dead ends: 47 [2022-02-20 23:41:55,515 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:41:55,515 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 41 mSDsluCounter, 40 mSDsCounter, 0 mSdLazyCounter, 37 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 41 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 40 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 37 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:55,515 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [41 Valid, 67 Invalid, 40 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 37 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:55,516 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 47 states. [2022-02-20 23:41:55,517 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 47 to 47. [2022-02-20 23:41:55,517 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:55,517 INFO L82 GeneralOperation]: Start isEquivalent. First operand 47 states. Second operand has 47 states, 42 states have (on average 1.3095238095238095) internal successors, (55), 46 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,517 INFO L74 IsIncluded]: Start isIncluded. First operand 47 states. Second operand has 47 states, 42 states have (on average 1.3095238095238095) internal successors, (55), 46 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,518 INFO L87 Difference]: Start difference. First operand 47 states. Second operand has 47 states, 42 states have (on average 1.3095238095238095) internal successors, (55), 46 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,518 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,518 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2022-02-20 23:41:55,518 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2022-02-20 23:41:55,518 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:55,518 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:55,519 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 42 states have (on average 1.3095238095238095) internal successors, (55), 46 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 47 states. [2022-02-20 23:41:55,519 INFO L87 Difference]: Start difference. First operand has 47 states, 42 states have (on average 1.3095238095238095) internal successors, (55), 46 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 47 states. [2022-02-20 23:41:55,519 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,519 INFO L93 Difference]: Finished difference Result 47 states and 55 transitions. [2022-02-20 23:41:55,519 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2022-02-20 23:41:55,520 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:55,520 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:55,520 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:55,520 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:55,520 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 42 states have (on average 1.3095238095238095) internal successors, (55), 46 states have internal predecessors, (55), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 55 transitions. [2022-02-20 23:41:55,521 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 55 transitions. Word has length 13 [2022-02-20 23:41:55,521 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:55,521 INFO L470 AbstractCegarLoop]: Abstraction has 47 states and 55 transitions. [2022-02-20 23:41:55,521 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:55,521 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 55 transitions. [2022-02-20 23:41:55,521 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:41:55,521 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:55,521 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:55,521 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:41:55,522 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:55,522 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:55,522 INFO L85 PathProgramCache]: Analyzing trace with hash -1518446204, now seen corresponding path program 1 times [2022-02-20 23:41:55,522 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:55,522 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [629493862] [2022-02-20 23:41:55,522 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:55,522 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:55,535 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:55,605 INFO L290 TraceCheckUtils]: 0: Hoare triple {3118#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3118#true} is VALID [2022-02-20 23:41:55,605 INFO L290 TraceCheckUtils]: 1: Hoare triple {3118#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3118#true} is VALID [2022-02-20 23:41:55,605 INFO L290 TraceCheckUtils]: 2: Hoare triple {3118#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3120#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:55,606 INFO L290 TraceCheckUtils]: 3: Hoare triple {3120#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {3120#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:41:55,606 INFO L290 TraceCheckUtils]: 4: Hoare triple {3120#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {3121#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:55,607 INFO L290 TraceCheckUtils]: 5: Hoare triple {3121#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3121#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:55,607 INFO L290 TraceCheckUtils]: 6: Hoare triple {3121#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {3121#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:55,608 INFO L290 TraceCheckUtils]: 7: Hoare triple {3121#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {3121#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:41:55,608 INFO L290 TraceCheckUtils]: 8: Hoare triple {3121#(and (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {3122#(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:41:55,609 INFO L290 TraceCheckUtils]: 9: Hoare triple {3122#(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: L545 {3122#(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:41:55,609 INFO L290 TraceCheckUtils]: 10: Hoare triple {3122#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {3123#(and (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} is VALID [2022-02-20 23:41:55,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {3123#(and (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {3124#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} is VALID [2022-02-20 23:41:55,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {3124#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {3119#false} is VALID [2022-02-20 23:41:55,610 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,610 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:55,611 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [629493862] [2022-02-20 23:41:55,611 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [629493862] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:55,611 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:55,611 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:41:55,611 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1935507780] [2022-02-20 23:41:55,611 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:55,611 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 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:55,611 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:55,612 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 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:55,620 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:55,620 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:41:55,620 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:55,620 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:41:55,620 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:41:55,621 INFO L87 Difference]: Start difference. First operand 47 states and 55 transitions. Second operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 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:55,761 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,761 INFO L93 Difference]: Finished difference Result 50 states and 58 transitions. [2022-02-20 23:41:55,761 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:41:55,761 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 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:55,761 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:55,761 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 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:55,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 42 transitions. [2022-02-20 23:41:55,762 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 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:55,762 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 42 transitions. [2022-02-20 23:41:55,762 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 42 transitions. [2022-02-20 23:41:55,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:55,793 INFO L225 Difference]: With dead ends: 50 [2022-02-20 23:41:55,793 INFO L226 Difference]: Without dead ends: 50 [2022-02-20 23:41:55,794 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 9 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 4 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:41:55,794 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 67 mSDsluCounter, 55 mSDsCounter, 0 mSdLazyCounter, 48 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 79 SdHoareTripleChecker+Invalid, 52 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 48 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:55,794 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 79 Invalid, 52 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 48 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:55,794 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 50 states. [2022-02-20 23:41:55,795 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 50 to 49. [2022-02-20 23:41:55,795 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:55,795 INFO L82 GeneralOperation]: Start isEquivalent. First operand 50 states. Second operand has 49 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,795 INFO L74 IsIncluded]: Start isIncluded. First operand 50 states. Second operand has 49 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,795 INFO L87 Difference]: Start difference. First operand 50 states. Second operand has 49 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,796 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,796 INFO L93 Difference]: Finished difference Result 50 states and 58 transitions. [2022-02-20 23:41:55,796 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 58 transitions. [2022-02-20 23:41:55,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:55,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:55,796 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 23:41:55,802 INFO L87 Difference]: Start difference. First operand has 49 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 50 states. [2022-02-20 23:41:55,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:55,803 INFO L93 Difference]: Finished difference Result 50 states and 58 transitions. [2022-02-20 23:41:55,803 INFO L276 IsEmpty]: Start isEmpty. Operand 50 states and 58 transitions. [2022-02-20 23:41:55,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:55,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:55,803 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:55,803 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:55,803 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 44 states have (on average 1.2954545454545454) internal successors, (57), 48 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:55,804 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 57 transitions. [2022-02-20 23:41:55,804 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 57 transitions. Word has length 13 [2022-02-20 23:41:55,804 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:55,804 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 57 transitions. [2022-02-20 23:41:55,804 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 2.1666666666666665) internal successors, (13), 7 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:55,804 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2022-02-20 23:41:55,804 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 14 [2022-02-20 23:41:55,804 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:55,804 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:55,804 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-02-20 23:41:55,805 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:55,805 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:55,805 INFO L85 PathProgramCache]: Analyzing trace with hash -1862804906, now seen corresponding path program 1 times [2022-02-20 23:41:55,805 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:55,805 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [810333457] [2022-02-20 23:41:55,805 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:55,806 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:55,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:55,875 INFO L290 TraceCheckUtils]: 0: Hoare triple {3332#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3332#true} is VALID [2022-02-20 23:41:55,875 INFO L290 TraceCheckUtils]: 1: Hoare triple {3332#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3332#true} is VALID [2022-02-20 23:41:55,875 INFO L290 TraceCheckUtils]: 2: Hoare triple {3332#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3332#true} is VALID [2022-02-20 23:41:55,875 INFO L290 TraceCheckUtils]: 3: Hoare triple {3332#true} assume !(main_~length2~0#1 < 1); {3332#true} is VALID [2022-02-20 23:41:55,876 INFO L290 TraceCheckUtils]: 4: Hoare triple {3332#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {3334#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:55,877 INFO L290 TraceCheckUtils]: 5: Hoare triple {3334#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3334#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:55,877 INFO L290 TraceCheckUtils]: 6: Hoare triple {3334#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} main_~i~1#1 := 0; {3335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:55,878 INFO L290 TraceCheckUtils]: 7: Hoare triple {3335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {3335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:55,878 INFO L290 TraceCheckUtils]: 8: Hoare triple {3335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {3335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:55,879 INFO L290 TraceCheckUtils]: 9: Hoare triple {3335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} havoc main_#t~nondet13#1; {3335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:55,879 INFO L290 TraceCheckUtils]: 10: Hoare triple {3335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {3336#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} is VALID [2022-02-20 23:41:55,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {3336#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {3337#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:41:55,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {3337#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !(1 + (main_~nondetString2~0#1.offset + main_~i~1#1) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + main_~i~1#1); {3333#false} is VALID [2022-02-20 23:41:55,881 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:55,881 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:55,881 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [810333457] [2022-02-20 23:41:55,881 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [810333457] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:55,881 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [898177932] [2022-02-20 23:41:55,881 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:55,881 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:55,882 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:55,896 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:55,897 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:55,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:55,944 INFO L263 TraceCheckSpWp]: Trace formula consists of 73 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:41:55,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:55,951 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:56,010 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:41:56,010 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:41:56,118 INFO L290 TraceCheckUtils]: 0: Hoare triple {3332#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3332#true} is VALID [2022-02-20 23:41:56,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {3332#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3332#true} is VALID [2022-02-20 23:41:56,118 INFO L290 TraceCheckUtils]: 2: Hoare triple {3332#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3332#true} is VALID [2022-02-20 23:41:56,118 INFO L290 TraceCheckUtils]: 3: Hoare triple {3332#true} assume !(main_~length2~0#1 < 1); {3332#true} is VALID [2022-02-20 23:41:56,119 INFO L290 TraceCheckUtils]: 4: Hoare triple {3332#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {3353#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:56,119 INFO L290 TraceCheckUtils]: 5: Hoare triple {3353#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3353#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:56,120 INFO L290 TraceCheckUtils]: 6: Hoare triple {3353#(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; {3360#(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:41:56,120 INFO L290 TraceCheckUtils]: 7: Hoare triple {3360#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {3360#(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:41:56,121 INFO L290 TraceCheckUtils]: 8: Hoare triple {3360#(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~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {3360#(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:41:56,121 INFO L290 TraceCheckUtils]: 9: Hoare triple {3360#(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~nondet13#1; {3360#(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:41:56,122 INFO L290 TraceCheckUtils]: 10: Hoare triple {3360#(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~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {3373#(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:41:56,122 INFO L290 TraceCheckUtils]: 11: Hoare triple {3373#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {3337#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:41:56,123 INFO L290 TraceCheckUtils]: 12: Hoare triple {3337#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !(1 + (main_~nondetString2~0#1.offset + main_~i~1#1) <= #length[main_~nondetString2~0#1.base] && 0 <= main_~nondetString2~0#1.offset + main_~i~1#1); {3333#false} is VALID [2022-02-20 23:41:56,123 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,123 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:56,407 INFO L290 TraceCheckUtils]: 12: Hoare triple {3380#(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); {3333#false} is VALID [2022-02-20 23:41:56,408 INFO L290 TraceCheckUtils]: 11: Hoare triple {3384#(or (and (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (not (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {3380#(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:41:56,408 INFO L290 TraceCheckUtils]: 10: Hoare triple {3388#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {3384#(or (and (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (not (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:41:56,409 INFO L290 TraceCheckUtils]: 9: Hoare triple {3388#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} havoc main_#t~nondet13#1; {3388#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:41:56,409 INFO L290 TraceCheckUtils]: 8: Hoare triple {3388#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {3388#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:41:56,410 INFO L290 TraceCheckUtils]: 7: Hoare triple {3388#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {3388#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:41:56,411 INFO L290 TraceCheckUtils]: 6: Hoare triple {3401#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} main_~i~1#1 := 0; {3388#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|))) (or (<= |ULTIMATE.start_main_~length2~0#1| (+ 2 |ULTIMATE.start_main_~i~1#1|)) (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1))))} is VALID [2022-02-20 23:41:56,411 INFO L290 TraceCheckUtils]: 5: Hoare triple {3401#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3401#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:41:56,412 INFO L290 TraceCheckUtils]: 4: Hoare triple {3332#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {3401#(and (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (or (<= 0 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:41:56,412 INFO L290 TraceCheckUtils]: 3: Hoare triple {3332#true} assume !(main_~length2~0#1 < 1); {3332#true} is VALID [2022-02-20 23:41:56,412 INFO L290 TraceCheckUtils]: 2: Hoare triple {3332#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3332#true} is VALID [2022-02-20 23:41:56,412 INFO L290 TraceCheckUtils]: 1: Hoare triple {3332#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3332#true} is VALID [2022-02-20 23:41:56,412 INFO L290 TraceCheckUtils]: 0: Hoare triple {3332#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3332#true} is VALID [2022-02-20 23:41:56,413 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:56,413 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [898177932] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:56,413 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:56,413 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 12 [2022-02-20 23:41:56,413 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [272311388] [2022-02-20 23:41:56,413 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:56,414 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:41:56,414 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:56,414 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:56,433 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 30 edges. 30 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:56,434 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 23:41:56,434 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:56,434 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 23:41:56,434 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=51, Invalid=105, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:41:56,434 INFO L87 Difference]: Start difference. First operand 49 states and 57 transitions. Second operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:56,837 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,838 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-02-20 23:41:56,838 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-02-20 23:41:56,838 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 13 [2022-02-20 23:41:56,838 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:56,838 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:56,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2022-02-20 23:41:56,839 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:56,839 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 84 transitions. [2022-02-20 23:41:56,839 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 9 states and 84 transitions. [2022-02-20 23:41:56,902 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:41:56,903 INFO L225 Difference]: With dead ends: 91 [2022-02-20 23:41:56,903 INFO L226 Difference]: Without dead ends: 91 [2022-02-20 23:41:56,903 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 32 GetRequests, 17 SyntacticMatches, 1 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 52 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=85, Invalid=155, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:41:56,904 INFO L933 BasicCegarLoop]: 49 mSDtfsCounter, 95 mSDsluCounter, 145 mSDsCounter, 0 mSdLazyCounter, 144 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 95 SdHoareTripleChecker+Valid, 194 SdHoareTripleChecker+Invalid, 151 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 144 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:56,904 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [95 Valid, 194 Invalid, 151 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 144 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:56,904 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 91 states. [2022-02-20 23:41:56,905 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 91 to 46. [2022-02-20 23:41:56,905 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:56,905 INFO L82 GeneralOperation]: Start isEquivalent. First operand 91 states. Second operand has 46 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call 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,905 INFO L74 IsIncluded]: Start isIncluded. First operand 91 states. Second operand has 46 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call 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,905 INFO L87 Difference]: Start difference. First operand 91 states. Second operand has 46 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call 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,907 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,907 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-02-20 23:41:56,907 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-02-20 23:41:56,907 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:56,907 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:56,907 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 91 states. [2022-02-20 23:41:56,907 INFO L87 Difference]: Start difference. First operand has 46 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 91 states. [2022-02-20 23:41:56,908 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:56,908 INFO L93 Difference]: Finished difference Result 91 states and 102 transitions. [2022-02-20 23:41:56,908 INFO L276 IsEmpty]: Start isEmpty. Operand 91 states and 102 transitions. [2022-02-20 23:41:56,908 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:56,908 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:56,908 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:56,908 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:56,908 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 42 states have (on average 1.2619047619047619) internal successors, (53), 45 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call 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,909 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 53 transitions. [2022-02-20 23:41:56,909 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 53 transitions. Word has length 13 [2022-02-20 23:41:56,909 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:56,909 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 53 transitions. [2022-02-20 23:41:56,909 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 2.5) internal successors, (30), 13 states have internal predecessors, (30), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:56,909 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2022-02-20 23:41:56,909 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:41:56,909 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:56,909 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:56,925 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:57,123 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,SelfDestructingSolverStorable12 [2022-02-20 23:41:57,123 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr10REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:57,124 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:57,124 INFO L85 PathProgramCache]: Analyzing trace with hash -1435298785, now seen corresponding path program 1 times [2022-02-20 23:41:57,124 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:57,124 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [260344173] [2022-02-20 23:41:57,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:57,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:57,142 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:57,170 INFO L290 TraceCheckUtils]: 0: Hoare triple {3744#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3744#true} is VALID [2022-02-20 23:41:57,170 INFO L290 TraceCheckUtils]: 1: Hoare triple {3744#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3744#true} is VALID [2022-02-20 23:41:57,170 INFO L290 TraceCheckUtils]: 2: Hoare triple {3744#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3744#true} is VALID [2022-02-20 23:41:57,170 INFO L290 TraceCheckUtils]: 3: Hoare triple {3744#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {3744#true} is VALID [2022-02-20 23:41:57,170 INFO L290 TraceCheckUtils]: 4: Hoare triple {3744#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {3744#true} is VALID [2022-02-20 23:41:57,171 INFO L290 TraceCheckUtils]: 5: Hoare triple {3744#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3744#true} is VALID [2022-02-20 23:41:57,171 INFO L290 TraceCheckUtils]: 6: Hoare triple {3744#true} main_~i~1#1 := 0; {3744#true} is VALID [2022-02-20 23:41:57,171 INFO L290 TraceCheckUtils]: 7: Hoare triple {3744#true} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {3744#true} is VALID [2022-02-20 23:41:57,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {3744#true} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {3744#true} is VALID [2022-02-20 23:41:57,171 INFO L290 TraceCheckUtils]: 9: Hoare triple {3744#true} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {3746#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} is VALID [2022-02-20 23:41:57,172 INFO L290 TraceCheckUtils]: 10: Hoare triple {3746#(= (select |#valid| |ULTIMATE.start_main_~nondetString2~0#1.base|) 1)} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {3747#(= (select |#valid| |ULTIMATE.start_cstrspn_~s2#1.base|) 1)} is VALID [2022-02-20 23:41:57,172 INFO L290 TraceCheckUtils]: 11: Hoare triple {3747#(= (select |#valid| |ULTIMATE.start_cstrspn_~s2#1.base|) 1)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {3747#(= (select |#valid| |ULTIMATE.start_cstrspn_~s2#1.base|) 1)} is VALID [2022-02-20 23:41:57,172 INFO L290 TraceCheckUtils]: 12: Hoare triple {3747#(= (select |#valid| |ULTIMATE.start_cstrspn_~s2#1.base|) 1)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {3747#(= (select |#valid| |ULTIMATE.start_cstrspn_~s2#1.base|) 1)} is VALID [2022-02-20 23:41:57,173 INFO L290 TraceCheckUtils]: 13: Hoare triple {3747#(= (select |#valid| |ULTIMATE.start_cstrspn_~s2#1.base|) 1)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {3748#(= (select |#valid| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1)} is VALID [2022-02-20 23:41:57,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {3748#(= (select |#valid| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {3749#(= (select |#valid| |ULTIMATE.start_cstrspn_#t~post4#1.base|) 1)} is VALID [2022-02-20 23:41:57,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {3749#(= (select |#valid| |ULTIMATE.start_cstrspn_#t~post4#1.base|) 1)} assume !(1 == #valid[cstrspn_#t~post4#1.base]); {3745#false} is VALID [2022-02-20 23:41:57,178 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:57,178 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:57,179 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [260344173] [2022-02-20 23:41:57,179 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [260344173] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:57,179 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:57,179 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [] total 5 [2022-02-20 23:41:57,181 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [240644252] [2022-02-20 23:41:57,181 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:57,181 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:41:57,181 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:57,181 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,191 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:57,191 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:41:57,191 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:57,191 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:41:57,191 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=21, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:41:57,191 INFO L87 Difference]: Start difference. First operand 46 states and 53 transitions. Second operand has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,313 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2022-02-20 23:41:57,313 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:41:57,314 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:41:57,314 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:57,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,314 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-02-20 23:41:57,315 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,315 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 40 transitions. [2022-02-20 23:41:57,315 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 40 transitions. [2022-02-20 23:41:57,341 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:57,342 INFO L225 Difference]: With dead ends: 46 [2022-02-20 23:41:57,342 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 23:41:57,342 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:41:57,343 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 49 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 76 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:57,343 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 76 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:57,343 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 23:41:57,344 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 45. [2022-02-20 23:41:57,344 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:57,344 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 45 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,345 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 45 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,345 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 45 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,345 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,345 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2022-02-20 23:41:57,345 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2022-02-20 23:41:57,346 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:57,346 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:57,346 INFO L74 IsIncluded]: Start isIncluded. First operand has 45 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 46 states. [2022-02-20 23:41:57,346 INFO L87 Difference]: Start difference. First operand has 45 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 46 states. [2022-02-20 23:41:57,346 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,347 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2022-02-20 23:41:57,347 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 53 transitions. [2022-02-20 23:41:57,347 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:57,347 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:57,347 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:57,347 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:57,347 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 42 states have (on average 1.2380952380952381) internal successors, (52), 44 states have internal predecessors, (52), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,348 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 45 states to 45 states and 52 transitions. [2022-02-20 23:41:57,348 INFO L78 Accepts]: Start accepts. Automaton has 45 states and 52 transitions. Word has length 16 [2022-02-20 23:41:57,348 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:57,348 INFO L470 AbstractCegarLoop]: Abstraction has 45 states and 52 transitions. [2022-02-20 23:41:57,348 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 3.2) internal successors, (16), 6 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,348 INFO L276 IsEmpty]: Start isEmpty. Operand 45 states and 52 transitions. [2022-02-20 23:41:57,349 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:41:57,349 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:57,349 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:57,349 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13 [2022-02-20 23:41:57,349 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:57,349 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:57,349 INFO L85 PathProgramCache]: Analyzing trace with hash -1435298784, now seen corresponding path program 1 times [2022-02-20 23:41:57,349 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:57,350 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [826185035] [2022-02-20 23:41:57,350 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:57,350 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:57,370 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:57,422 INFO L290 TraceCheckUtils]: 0: Hoare triple {3941#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3941#true} is VALID [2022-02-20 23:41:57,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {3941#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {3941#true} is VALID [2022-02-20 23:41:57,423 INFO L290 TraceCheckUtils]: 2: Hoare triple {3941#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {3941#true} is VALID [2022-02-20 23:41:57,423 INFO L290 TraceCheckUtils]: 3: Hoare triple {3941#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {3943#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:57,424 INFO L290 TraceCheckUtils]: 4: Hoare triple {3943#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {3944#(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:41:57,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {3944#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {3944#(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:41:57,424 INFO L290 TraceCheckUtils]: 6: Hoare triple {3944#(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; {3944#(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:41:57,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {3944#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {3944#(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:41:57,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {3944#(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: L541-4 {3944#(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:41:57,426 INFO L290 TraceCheckUtils]: 9: Hoare triple {3944#(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: L545 {3945#(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:41:57,426 INFO L290 TraceCheckUtils]: 10: Hoare triple {3945#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {3946#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:41:57,427 INFO L290 TraceCheckUtils]: 11: Hoare triple {3946#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {3946#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:41:57,427 INFO L290 TraceCheckUtils]: 12: Hoare triple {3946#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {3946#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:41:57,428 INFO L290 TraceCheckUtils]: 13: Hoare triple {3946#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {3947#(and (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:41:57,432 INFO L290 TraceCheckUtils]: 14: Hoare triple {3947#(and (<= 1 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {3948#(and (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} is VALID [2022-02-20 23:41:57,433 INFO L290 TraceCheckUtils]: 15: Hoare triple {3948#(and (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0) (<= 1 (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {3942#false} is VALID [2022-02-20 23:41:57,433 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:57,433 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:57,433 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [826185035] [2022-02-20 23:41:57,433 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [826185035] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:57,433 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:57,433 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-02-20 23:41:57,433 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1788226426] [2022-02-20 23:41:57,434 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:57,434 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:41:57,434 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:57,434 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,445 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 16 edges. 16 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:57,445 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:41:57,446 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:57,446 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:41:57,446 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=41, Unknown=0, NotChecked=0, Total=56 [2022-02-20 23:41:57,446 INFO L87 Difference]: Start difference. First operand 45 states and 52 transitions. Second operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,621 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2022-02-20 23:41:57,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:41:57,622 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 16 [2022-02-20 23:41:57,622 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:57,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,624 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 42 transitions. [2022-02-20 23:41:57,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,625 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 42 transitions. [2022-02-20 23:41:57,625 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 42 transitions. [2022-02-20 23:41:57,659 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 42 edges. 42 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:57,660 INFO L225 Difference]: With dead ends: 49 [2022-02-20 23:41:57,660 INFO L226 Difference]: Without dead ends: 49 [2022-02-20 23:41:57,662 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 10 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=37, Invalid=73, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:41:57,663 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 57 mSDsluCounter, 66 mSDsCounter, 0 mSdLazyCounter, 55 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 57 SdHoareTripleChecker+Valid, 88 SdHoareTripleChecker+Invalid, 59 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 55 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:57,664 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [57 Valid, 88 Invalid, 59 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 55 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:57,665 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-20 23:41:57,668 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 47. [2022-02-20 23:41:57,668 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:57,668 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 47 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 46 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,668 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 47 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 46 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,669 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 47 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 46 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,673 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,673 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2022-02-20 23:41:57,673 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2022-02-20 23:41:57,673 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:57,673 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:57,674 INFO L74 IsIncluded]: Start isIncluded. First operand has 47 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 46 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2022-02-20 23:41:57,674 INFO L87 Difference]: Start difference. First operand has 47 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 46 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 49 states. [2022-02-20 23:41:57,674 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,674 INFO L93 Difference]: Finished difference Result 49 states and 57 transitions. [2022-02-20 23:41:57,674 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 57 transitions. [2022-02-20 23:41:57,675 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:57,675 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:57,675 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:57,675 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:57,675 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 47 states, 44 states have (on average 1.2272727272727273) internal successors, (54), 46 states have internal predecessors, (54), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,676 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 47 states to 47 states and 54 transitions. [2022-02-20 23:41:57,676 INFO L78 Accepts]: Start accepts. Automaton has 47 states and 54 transitions. Word has length 16 [2022-02-20 23:41:57,676 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:57,676 INFO L470 AbstractCegarLoop]: Abstraction has 47 states and 54 transitions. [2022-02-20 23:41:57,676 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 2.2857142857142856) internal successors, (16), 8 states have internal predecessors, (16), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,677 INFO L276 IsEmpty]: Start isEmpty. Operand 47 states and 54 transitions. [2022-02-20 23:41:57,677 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:41:57,677 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:57,677 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] [2022-02-20 23:41:57,677 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable14 [2022-02-20 23:41:57,678 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr12ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:57,679 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:57,679 INFO L85 PathProgramCache]: Analyzing trace with hash 1033258167, now seen corresponding path program 1 times [2022-02-20 23:41:57,679 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:57,679 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [316203878] [2022-02-20 23:41:57,679 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:57,679 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:57,713 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:57,741 INFO L290 TraceCheckUtils]: 0: Hoare triple {4151#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4151#true} is VALID [2022-02-20 23:41:57,741 INFO L290 TraceCheckUtils]: 1: Hoare triple {4151#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4153#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:41:57,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {4153#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4153#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:41:57,742 INFO L290 TraceCheckUtils]: 3: Hoare triple {4153#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {4153#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:41:57,743 INFO L290 TraceCheckUtils]: 4: Hoare triple {4153#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,744 INFO L290 TraceCheckUtils]: 5: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,744 INFO L290 TraceCheckUtils]: 6: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} main_~i~1#1 := 0; {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,745 INFO L290 TraceCheckUtils]: 7: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,745 INFO L290 TraceCheckUtils]: 8: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,746 INFO L290 TraceCheckUtils]: 9: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,746 INFO L290 TraceCheckUtils]: 10: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,747 INFO L290 TraceCheckUtils]: 11: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,747 INFO L290 TraceCheckUtils]: 12: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,747 INFO L290 TraceCheckUtils]: 13: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,748 INFO L290 TraceCheckUtils]: 14: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,748 INFO L290 TraceCheckUtils]: 15: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,749 INFO L290 TraceCheckUtils]: 16: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,749 INFO L290 TraceCheckUtils]: 17: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} assume !(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} cstrspn_#res#1 := (if cstrspn_~p~0#1.offset - 1 - cstrspn_~s1#1.offset < 0 && 0 != (cstrspn_~p~0#1.offset - 1 - cstrspn_~s1#1.offset) % 1 then 1 + (cstrspn_~p~0#1.offset - 1 - cstrspn_~s1#1.offset) / 1 else (cstrspn_~p~0#1.offset - 1 - cstrspn_~s1#1.offset) / 1); {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} is VALID [2022-02-20 23:41:57,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {4154#(and (not (= |ULTIMATE.start_main_#t~malloc8#1.base| |ULTIMATE.start_main_#t~malloc9#1.base|)) (= (store (store |#valid| |ULTIMATE.start_main_#t~malloc9#1.base| 0) |ULTIMATE.start_main_#t~malloc8#1.base| 0) |ULTIMATE.start_main_old_#valid#1|))} main_#t~ret14#1 := cstrspn_#res#1;assume { :end_inline_cstrspn } true;main_#res#1 := (if main_#t~ret14#1 % 4294967296 % 4294967296 <= 2147483647 then main_#t~ret14#1 % 4294967296 % 4294967296 else main_#t~ret14#1 % 4294967296 % 4294967296 - 4294967296);havoc main_#t~ret14#1;call ULTIMATE.dealloc(main_#t~malloc8#1.base, main_#t~malloc8#1.offset);havoc main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call ULTIMATE.dealloc(main_#t~malloc9#1.base, main_#t~malloc9#1.offset);havoc main_#t~malloc9#1.base, main_#t~malloc9#1.offset; {4153#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} is VALID [2022-02-20 23:41:57,750 INFO L290 TraceCheckUtils]: 20: Hoare triple {4153#(= |ULTIMATE.start_main_old_#valid#1| |#valid|)} assume !(#valid == main_old_#valid#1); {4152#false} is VALID [2022-02-20 23:41:57,751 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:41:57,751 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:57,751 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [316203878] [2022-02-20 23:41:57,751 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [316203878] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:57,751 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:57,751 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:41:57,751 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1054471817] [2022-02-20 23:41:57,751 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:57,752 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 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 21 [2022-02-20 23:41:57,752 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:57,752 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,765 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:57,765 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:41:57,766 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:57,766 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:41:57,766 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:41:57,766 INFO L87 Difference]: Start difference. First operand 47 states and 54 transitions. Second operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,814 INFO L93 Difference]: Finished difference Result 46 states and 53 transitions. [2022-02-20 23:41:57,814 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:41:57,814 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 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 21 [2022-02-20 23:41:57,815 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:57,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 36 transitions. [2022-02-20 23:41:57,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,815 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 36 transitions. [2022-02-20 23:41:57,816 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 36 transitions. [2022-02-20 23:41:57,841 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 36 edges. 36 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:57,842 INFO L225 Difference]: With dead ends: 46 [2022-02-20 23:41:57,842 INFO L226 Difference]: Without dead ends: 43 [2022-02-20 23:41:57,842 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:41:57,842 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 15 mSDsluCounter, 25 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 15 SdHoareTripleChecker+Valid, 52 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:57,842 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [15 Valid, 52 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:41:57,843 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 43 states. [2022-02-20 23:41:57,843 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 43 to 43. [2022-02-20 23:41:57,843 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:57,843 INFO L82 GeneralOperation]: Start isEquivalent. First operand 43 states. Second operand has 43 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,844 INFO L74 IsIncluded]: Start isIncluded. First operand 43 states. Second operand has 43 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,844 INFO L87 Difference]: Start difference. First operand 43 states. Second operand has 43 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,844 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2022-02-20 23:41:57,844 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2022-02-20 23:41:57,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:57,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:57,844 INFO L74 IsIncluded]: Start isIncluded. First operand has 43 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 43 states. [2022-02-20 23:41:57,844 INFO L87 Difference]: Start difference. First operand has 43 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 43 states. [2022-02-20 23:41:57,845 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:57,845 INFO L93 Difference]: Finished difference Result 43 states and 50 transitions. [2022-02-20 23:41:57,854 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2022-02-20 23:41:57,855 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:57,855 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:57,855 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:57,855 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:57,855 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 43 states, 41 states have (on average 1.2195121951219512) internal successors, (50), 42 states have internal predecessors, (50), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:41:57,855 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 43 states to 43 states and 50 transitions. [2022-02-20 23:41:57,855 INFO L78 Accepts]: Start accepts. Automaton has 43 states and 50 transitions. Word has length 21 [2022-02-20 23:41:57,856 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:57,856 INFO L470 AbstractCegarLoop]: Abstraction has 43 states and 50 transitions. [2022-02-20 23:41:57,856 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,856 INFO L276 IsEmpty]: Start isEmpty. Operand 43 states and 50 transitions. [2022-02-20 23:41:57,856 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:41:57,856 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:57,856 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:57,856 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable15 [2022-02-20 23:41:57,856 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:57,857 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:57,857 INFO L85 PathProgramCache]: Analyzing trace with hash 1033312273, now seen corresponding path program 1 times [2022-02-20 23:41:57,857 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:57,857 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [60653265] [2022-02-20 23:41:57,857 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:57,857 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:57,872 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:57,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {4332#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4332#true} is VALID [2022-02-20 23:41:57,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {4332#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4332#true} is VALID [2022-02-20 23:41:57,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {4332#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4332#true} is VALID [2022-02-20 23:41:57,944 INFO L290 TraceCheckUtils]: 3: Hoare triple {4332#true} assume main_~length2~0#1 < 1;main_~length2~0#1 := 1; {4334#(and (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:41:57,945 INFO L290 TraceCheckUtils]: 4: Hoare triple {4334#(and (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {4335#(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:41:57,946 INFO L290 TraceCheckUtils]: 5: Hoare triple {4335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4335#(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:41:57,946 INFO L290 TraceCheckUtils]: 6: Hoare triple {4335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} main_~i~1#1 := 0; {4335#(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:41:57,946 INFO L290 TraceCheckUtils]: 7: Hoare triple {4335#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 1) (<= 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4335#(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:41:57,947 INFO L290 TraceCheckUtils]: 8: Hoare triple {4335#(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: L541-4 {4335#(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:41:57,947 INFO L290 TraceCheckUtils]: 9: Hoare triple {4335#(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: L545 {4336#(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:41:57,948 INFO L290 TraceCheckUtils]: 10: Hoare triple {4336#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {4337#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:57,948 INFO L290 TraceCheckUtils]: 11: Hoare triple {4337#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {4337#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:57,948 INFO L290 TraceCheckUtils]: 12: Hoare triple {4337#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {4337#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:57,949 INFO L290 TraceCheckUtils]: 13: Hoare triple {4337#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {4338#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:41:57,949 INFO L290 TraceCheckUtils]: 14: Hoare triple {4338#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4339#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:41:57,949 INFO L290 TraceCheckUtils]: 15: Hoare triple {4339#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {4340#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:41:57,950 INFO L290 TraceCheckUtils]: 16: Hoare triple {4340#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {4341#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:41:57,950 INFO L290 TraceCheckUtils]: 17: Hoare triple {4341#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {4333#false} is VALID [2022-02-20 23:41:57,951 INFO L290 TraceCheckUtils]: 18: Hoare triple {4333#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {4333#false} is VALID [2022-02-20 23:41:57,951 INFO L290 TraceCheckUtils]: 19: Hoare triple {4333#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4333#false} is VALID [2022-02-20 23:41:57,951 INFO L290 TraceCheckUtils]: 20: Hoare triple {4333#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {4333#false} is VALID [2022-02-20 23:41:57,951 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:57,951 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:57,951 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [60653265] [2022-02-20 23:41:57,951 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [60653265] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:57,951 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:57,951 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-02-20 23:41:57,951 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [506056830] [2022-02-20 23:41:57,952 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:57,952 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 0 states have call successors, (0), 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 21 [2022-02-20 23:41:57,952 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:57,952 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:57,966 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:41:57,966 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:57,966 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:41:57,966 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=18, Invalid=72, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:41:57,966 INFO L87 Difference]: Start difference. First operand 43 states and 50 transitions. Second operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,239 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,239 INFO L93 Difference]: Finished difference Result 53 states and 59 transitions. [2022-02-20 23:41:58,240 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:41:58,240 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 0 states have call successors, (0), 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 21 [2022-02-20 23:41:58,240 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:58,240 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,240 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2022-02-20 23:41:58,241 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,241 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 50 transitions. [2022-02-20 23:41:58,241 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 50 transitions. [2022-02-20 23:41:58,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:58,277 INFO L225 Difference]: With dead ends: 53 [2022-02-20 23:41:58,277 INFO L226 Difference]: Without dead ends: 34 [2022-02-20 23:41:58,278 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 16 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 9 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=72, Invalid=168, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:41:58,278 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 28 mSDsluCounter, 173 mSDsCounter, 0 mSdLazyCounter, 91 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 196 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 91 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:58,278 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 196 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 91 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:58,278 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 34 states. [2022-02-20 23:41:58,279 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 34 to 34. [2022-02-20 23:41:58,279 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:58,279 INFO L82 GeneralOperation]: Start isEquivalent. First operand 34 states. Second operand has 34 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call 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,279 INFO L74 IsIncluded]: Start isIncluded. First operand 34 states. Second operand has 34 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call 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,279 INFO L87 Difference]: Start difference. First operand 34 states. Second operand has 34 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call 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,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,280 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-02-20 23:41:58,280 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-02-20 23:41:58,280 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:58,280 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:58,280 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 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 34 states. [2022-02-20 23:41:58,280 INFO L87 Difference]: Start difference. First operand has 34 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 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 34 states. [2022-02-20 23:41:58,280 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,280 INFO L93 Difference]: Finished difference Result 34 states and 38 transitions. [2022-02-20 23:41:58,282 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-02-20 23:41:58,282 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:58,282 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:58,282 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:58,282 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:58,282 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 32 states have (on average 1.1875) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call 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,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-02-20 23:41:58,282 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 21 [2022-02-20 23:41:58,282 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:58,282 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-02-20 23:41:58,282 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.1) internal successors, (21), 10 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,283 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-02-20 23:41:58,283 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 22 [2022-02-20 23:41:58,283 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:58,283 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:58,283 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2022-02-20 23:41:58,283 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:58,283 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:58,283 INFO L85 PathProgramCache]: Analyzing trace with hash -960832433, now seen corresponding path program 1 times [2022-02-20 23:41:58,284 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:58,284 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1482102791] [2022-02-20 23:41:58,284 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:58,284 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:58,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:58,421 INFO L290 TraceCheckUtils]: 0: Hoare triple {4511#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4511#true} is VALID [2022-02-20 23:41:58,422 INFO L290 TraceCheckUtils]: 1: Hoare triple {4511#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4511#true} is VALID [2022-02-20 23:41:58,422 INFO L290 TraceCheckUtils]: 2: Hoare triple {4511#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4511#true} is VALID [2022-02-20 23:41:58,423 INFO L290 TraceCheckUtils]: 3: Hoare triple {4511#true} assume !(main_~length2~0#1 < 1); {4513#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:58,424 INFO L290 TraceCheckUtils]: 4: Hoare triple {4513#(<= 1 |ULTIMATE.start_main_~length2~0#1|)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {4514#(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:41:58,424 INFO L290 TraceCheckUtils]: 5: Hoare triple {4514#(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 - 1); {4514#(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:41:58,425 INFO L290 TraceCheckUtils]: 6: Hoare triple {4514#(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; {4515#(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:41:58,427 INFO L290 TraceCheckUtils]: 7: Hoare triple {4515#(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 - 1); {4516#(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:41:58,428 INFO L290 TraceCheckUtils]: 8: Hoare triple {4516#(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: L541-4 {4516#(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:41:58,429 INFO L290 TraceCheckUtils]: 9: Hoare triple {4516#(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: L545 {4517#(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:41:58,429 INFO L290 TraceCheckUtils]: 10: Hoare triple {4517#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {4518#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:58,429 INFO L290 TraceCheckUtils]: 11: Hoare triple {4518#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {4518#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:58,430 INFO L290 TraceCheckUtils]: 12: Hoare triple {4518#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {4518#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} is VALID [2022-02-20 23:41:58,430 INFO L290 TraceCheckUtils]: 13: Hoare triple {4518#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|) 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {4519#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:41:58,431 INFO L290 TraceCheckUtils]: 14: Hoare triple {4519#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4520#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:41:58,431 INFO L290 TraceCheckUtils]: 15: Hoare triple {4520#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {4521#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:41:58,431 INFO L290 TraceCheckUtils]: 16: Hoare triple {4521#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {4522#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:41:58,432 INFO L290 TraceCheckUtils]: 17: Hoare triple {4522#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {4512#false} is VALID [2022-02-20 23:41:58,432 INFO L290 TraceCheckUtils]: 18: Hoare triple {4512#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {4512#false} is VALID [2022-02-20 23:41:58,432 INFO L290 TraceCheckUtils]: 19: Hoare triple {4512#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4512#false} is VALID [2022-02-20 23:41:58,432 INFO L290 TraceCheckUtils]: 20: Hoare triple {4512#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {4512#false} is VALID [2022-02-20 23:41:58,432 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:58,432 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:58,433 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1482102791] [2022-02-20 23:41:58,433 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1482102791] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:41:58,433 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:41:58,433 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-02-20 23:41:58,433 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1948169816] [2022-02-20 23:41:58,433 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:41:58,433 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 0 states have call successors, (0), 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 21 [2022-02-20 23:41:58,434 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:58,434 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,448 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:58,448 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:41:58,448 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:58,449 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:41:58,449 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=27, Invalid=105, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:41:58,449 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 12 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,742 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,742 INFO L93 Difference]: Finished difference Result 48 states and 52 transitions. [2022-02-20 23:41:58,742 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:41:58,742 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 0 states have call successors, (0), 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 21 [2022-02-20 23:41:58,742 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:41:58,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 46 transitions. [2022-02-20 23:41:58,743 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,744 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 46 transitions. [2022-02-20 23:41:58,744 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 46 transitions. [2022-02-20 23:41:58,778 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:58,778 INFO L225 Difference]: With dead ends: 48 [2022-02-20 23:41:58,778 INFO L226 Difference]: Without dead ends: 38 [2022-02-20 23:41:58,779 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 18 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 21 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=93, Invalid=213, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:41:58,779 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 93 mSDsluCounter, 128 mSDsCounter, 0 mSdLazyCounter, 105 mSolverCounterSat, 7 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 93 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 112 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 7 IncrementalHoareTripleChecker+Valid, 105 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:41:58,779 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [93 Valid, 147 Invalid, 112 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [7 Valid, 105 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:41:58,780 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 38 states. [2022-02-20 23:41:58,780 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 38 to 35. [2022-02-20 23:41:58,780 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:41:58,780 INFO L82 GeneralOperation]: Start isEquivalent. First operand 38 states. Second operand has 35 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call 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,780 INFO L74 IsIncluded]: Start isIncluded. First operand 38 states. Second operand has 35 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call 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,780 INFO L87 Difference]: Start difference. First operand 38 states. Second operand has 35 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call 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,781 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,781 INFO L93 Difference]: Finished difference Result 38 states and 42 transitions. [2022-02-20 23:41:58,781 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-02-20 23:41:58,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:58,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:58,781 INFO L74 IsIncluded]: Start isIncluded. First operand has 35 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 38 states. [2022-02-20 23:41:58,781 INFO L87 Difference]: Start difference. First operand has 35 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 38 states. [2022-02-20 23:41:58,782 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:41:58,782 INFO L93 Difference]: Finished difference Result 38 states and 42 transitions. [2022-02-20 23:41:58,782 INFO L276 IsEmpty]: Start isEmpty. Operand 38 states and 42 transitions. [2022-02-20 23:41:58,782 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:41:58,782 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:41:58,782 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:41:58,782 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:41:58,783 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 0 states have call successors, (0), 0 states have call 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,783 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 35 states to 35 states and 39 transitions. [2022-02-20 23:41:58,783 INFO L78 Accepts]: Start accepts. Automaton has 35 states and 39 transitions. Word has length 21 [2022-02-20 23:41:58,783 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:41:58,783 INFO L470 AbstractCegarLoop]: Abstraction has 35 states and 39 transitions. [2022-02-20 23:41:58,783 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 12 states have (on average 1.75) internal successors, (21), 12 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call 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,783 INFO L276 IsEmpty]: Start isEmpty. Operand 35 states and 39 transitions. [2022-02-20 23:41:58,784 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:41:58,784 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:41:58,784 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:41:58,784 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17 [2022-02-20 23:41:58,784 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:41:58,784 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:41:58,785 INFO L85 PathProgramCache]: Analyzing trace with hash -276078, now seen corresponding path program 1 times [2022-02-20 23:41:58,785 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:41:58,785 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [335935729] [2022-02-20 23:41:58,785 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:58,785 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:41:58,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:58,914 INFO L290 TraceCheckUtils]: 0: Hoare triple {4696#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4696#true} is VALID [2022-02-20 23:41:58,915 INFO L290 TraceCheckUtils]: 1: Hoare triple {4696#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4696#true} is VALID [2022-02-20 23:41:58,915 INFO L290 TraceCheckUtils]: 2: Hoare triple {4696#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4696#true} is VALID [2022-02-20 23:41:58,915 INFO L290 TraceCheckUtils]: 3: Hoare triple {4696#true} assume !(main_~length2~0#1 < 1); {4696#true} is VALID [2022-02-20 23:41:58,916 INFO L290 TraceCheckUtils]: 4: Hoare triple {4696#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {4698#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,916 INFO L290 TraceCheckUtils]: 5: Hoare triple {4698#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4698#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,917 INFO L290 TraceCheckUtils]: 6: Hoare triple {4698#(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; {4699#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,917 INFO L290 TraceCheckUtils]: 7: Hoare triple {4699#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {4700#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,918 INFO L290 TraceCheckUtils]: 8: Hoare triple {4700#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {4700#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,918 INFO L290 TraceCheckUtils]: 9: Hoare triple {4700#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet13#1; {4700#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,919 INFO L290 TraceCheckUtils]: 10: Hoare triple {4700#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {4701#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,919 INFO L290 TraceCheckUtils]: 11: Hoare triple {4701#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4701#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,920 INFO L290 TraceCheckUtils]: 12: Hoare triple {4701#(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: L541-4 {4701#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,920 INFO L290 TraceCheckUtils]: 13: Hoare triple {4701#(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: L545 {4701#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:58,921 INFO L290 TraceCheckUtils]: 14: Hoare triple {4701#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {4702#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:41:58,921 INFO L290 TraceCheckUtils]: 15: Hoare triple {4702#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {4702#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:41:58,922 INFO L290 TraceCheckUtils]: 16: Hoare triple {4702#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {4702#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:41:58,922 INFO L290 TraceCheckUtils]: 17: Hoare triple {4702#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {4703#(and (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:41:58,922 INFO L290 TraceCheckUtils]: 18: Hoare triple {4703#(and (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4704#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} is VALID [2022-02-20 23:41:58,923 INFO L290 TraceCheckUtils]: 19: Hoare triple {4704#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:58,923 INFO L290 TraceCheckUtils]: 20: Hoare triple {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:58,924 INFO L290 TraceCheckUtils]: 21: Hoare triple {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:58,925 INFO L290 TraceCheckUtils]: 22: Hoare triple {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:58,925 INFO L290 TraceCheckUtils]: 23: Hoare triple {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4706#(and (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_#t~post4#1.offset|))} is VALID [2022-02-20 23:41:58,926 INFO L290 TraceCheckUtils]: 24: Hoare triple {4706#(and (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_#t~post4#1.offset|))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {4697#false} is VALID [2022-02-20 23:41:58,926 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:41:58,926 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:41:58,926 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [335935729] [2022-02-20 23:41:58,926 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [335935729] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:41:58,926 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [981905617] [2022-02-20 23:41:58,926 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:41:58,926 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:41:58,926 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:41:58,928 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:41:58,929 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:41:58,985 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:58,986 INFO L263 TraceCheckSpWp]: Trace formula consists of 153 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 23:41:59,007 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:41:59,009 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:41:59,270 INFO L290 TraceCheckUtils]: 0: Hoare triple {4696#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4696#true} is VALID [2022-02-20 23:41:59,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {4696#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4696#true} is VALID [2022-02-20 23:41:59,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {4696#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4696#true} is VALID [2022-02-20 23:41:59,271 INFO L290 TraceCheckUtils]: 3: Hoare triple {4696#true} assume !(main_~length2~0#1 < 1); {4696#true} is VALID [2022-02-20 23:41:59,271 INFO L290 TraceCheckUtils]: 4: Hoare triple {4696#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {4696#true} is VALID [2022-02-20 23:41:59,271 INFO L290 TraceCheckUtils]: 5: Hoare triple {4696#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4696#true} is VALID [2022-02-20 23:41:59,271 INFO L290 TraceCheckUtils]: 6: Hoare triple {4696#true} main_~i~1#1 := 0; {4728#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:59,272 INFO L290 TraceCheckUtils]: 7: Hoare triple {4728#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,272 INFO L290 TraceCheckUtils]: 8: Hoare triple {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,272 INFO L290 TraceCheckUtils]: 9: Hoare triple {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet13#1; {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,273 INFO L290 TraceCheckUtils]: 10: Hoare triple {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,273 INFO L290 TraceCheckUtils]: 11: Hoare triple {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,273 INFO L290 TraceCheckUtils]: 12: Hoare triple {4732#(< 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: L541-4 {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,274 INFO L290 TraceCheckUtils]: 13: Hoare triple {4732#(< 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: L545 {4751#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} is VALID [2022-02-20 23:41:59,275 INFO L290 TraceCheckUtils]: 14: Hoare triple {4751#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {4755#(< (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:41:59,277 INFO L290 TraceCheckUtils]: 15: Hoare triple {4755#(< (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {4755#(< (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:41:59,277 INFO L290 TraceCheckUtils]: 16: Hoare triple {4755#(< (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {4755#(< (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:41:59,277 INFO L290 TraceCheckUtils]: 17: Hoare triple {4755#(< (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {4765#(< (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))} is VALID [2022-02-20 23:41:59,278 INFO L290 TraceCheckUtils]: 18: Hoare triple {4765#(< (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4769#(and (< (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,278 INFO L290 TraceCheckUtils]: 19: Hoare triple {4769#(and (< (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,279 INFO L290 TraceCheckUtils]: 20: Hoare triple {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,279 INFO L290 TraceCheckUtils]: 21: Hoare triple {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,279 INFO L290 TraceCheckUtils]: 22: Hoare triple {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,280 INFO L290 TraceCheckUtils]: 23: Hoare triple {4705#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4706#(and (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_#t~post4#1.offset|))} is VALID [2022-02-20 23:41:59,280 INFO L290 TraceCheckUtils]: 24: Hoare triple {4706#(and (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_#t~post4#1.offset|))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {4697#false} is VALID [2022-02-20 23:41:59,280 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:41:59,280 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:41:59,586 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-02-20 23:41:59,637 INFO L290 TraceCheckUtils]: 24: Hoare triple {4788#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {4697#false} is VALID [2022-02-20 23:41:59,637 INFO L290 TraceCheckUtils]: 23: Hoare triple {4792#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4788#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} is VALID [2022-02-20 23:41:59,638 INFO L290 TraceCheckUtils]: 22: Hoare triple {4792#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {4792#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,638 INFO L290 TraceCheckUtils]: 21: Hoare triple {4792#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {4792#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,638 INFO L290 TraceCheckUtils]: 20: Hoare triple {4792#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {4792#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,639 INFO L290 TraceCheckUtils]: 19: Hoare triple {4805#(or (not (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {4792#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:41:59,640 INFO L290 TraceCheckUtils]: 18: Hoare triple {4809#(or (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {4805#(or (not (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|)) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} is VALID [2022-02-20 23:41:59,640 INFO L290 TraceCheckUtils]: 17: Hoare triple {4813#(or (<= (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {4809#(or (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:41:59,640 INFO L290 TraceCheckUtils]: 16: Hoare triple {4813#(or (<= (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {4813#(or (<= (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:59,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {4813#(or (<= (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {4813#(or (<= (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:59,641 INFO L290 TraceCheckUtils]: 14: Hoare triple {4823#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {4813#(or (<= (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:41:59,642 INFO L290 TraceCheckUtils]: 13: Hoare triple {4732#(< 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: L545 {4823#(or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:41:59,642 INFO L290 TraceCheckUtils]: 12: Hoare triple {4732#(< 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: L541-4 {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,643 INFO L290 TraceCheckUtils]: 11: Hoare triple {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,643 INFO L290 TraceCheckUtils]: 10: Hoare triple {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,643 INFO L290 TraceCheckUtils]: 9: Hoare triple {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet13#1; {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,643 INFO L290 TraceCheckUtils]: 8: Hoare triple {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,644 INFO L290 TraceCheckUtils]: 7: Hoare triple {4728#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {4732#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:41:59,644 INFO L290 TraceCheckUtils]: 6: Hoare triple {4696#true} main_~i~1#1 := 0; {4728#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:41:59,644 INFO L290 TraceCheckUtils]: 5: Hoare triple {4696#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {4696#true} is VALID [2022-02-20 23:41:59,644 INFO L290 TraceCheckUtils]: 4: Hoare triple {4696#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {4696#true} is VALID [2022-02-20 23:41:59,644 INFO L290 TraceCheckUtils]: 3: Hoare triple {4696#true} assume !(main_~length2~0#1 < 1); {4696#true} is VALID [2022-02-20 23:41:59,644 INFO L290 TraceCheckUtils]: 2: Hoare triple {4696#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {4696#true} is VALID [2022-02-20 23:41:59,644 INFO L290 TraceCheckUtils]: 1: Hoare triple {4696#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {4696#true} is VALID [2022-02-20 23:41:59,645 INFO L290 TraceCheckUtils]: 0: Hoare triple {4696#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4696#true} is VALID [2022-02-20 23:41:59,645 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:41:59,645 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [981905617] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:41:59,645 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:41:59,645 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 9, 9] total 22 [2022-02-20 23:41:59,645 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [740378997] [2022-02-20 23:41:59,645 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:41:59,645 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 23 states have internal predecessors, (53), 0 states have call successors, (0), 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:41:59,645 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:41:59,646 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 23 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call 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,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 53 edges. 53 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:41:59,685 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 23 states [2022-02-20 23:41:59,685 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:41:59,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 23 interpolants. [2022-02-20 23:41:59,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=438, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:41:59,686 INFO L87 Difference]: Start difference. First operand 35 states and 39 transitions. Second operand has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 23 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (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,442 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:00,442 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-02-20 23:42:00,442 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:42:00,442 INFO L78 Accepts]: Start accepts. Automaton has has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 23 states have internal predecessors, (53), 0 states have call successors, (0), 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:00,442 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:00,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 23 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (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,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 50 transitions. [2022-02-20 23:42:00,443 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 23 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (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,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 50 transitions. [2022-02-20 23:42:00,443 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 50 transitions. [2022-02-20 23:42:00,485 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:00,486 INFO L225 Difference]: With dead ends: 49 [2022-02-20 23:42:00,486 INFO L226 Difference]: Without dead ends: 49 [2022-02-20 23:42:00,486 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 35 SyntacticMatches, 2 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 124 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=184, Invalid=746, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:42:00,486 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 144 mSDsluCounter, 240 mSDsCounter, 0 mSdLazyCounter, 247 mSolverCounterSat, 21 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 144 SdHoareTripleChecker+Valid, 260 SdHoareTripleChecker+Invalid, 268 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 21 IncrementalHoareTripleChecker+Valid, 247 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:00,486 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [144 Valid, 260 Invalid, 268 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [21 Valid, 247 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:42:00,487 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 49 states. [2022-02-20 23:42:00,488 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 49 to 40. [2022-02-20 23:42:00,488 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:00,488 INFO L82 GeneralOperation]: Start isEquivalent. First operand 49 states. Second operand has 40 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 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:00,488 INFO L74 IsIncluded]: Start isIncluded. First operand 49 states. Second operand has 40 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 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:00,489 INFO L87 Difference]: Start difference. First operand 49 states. Second operand has 40 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 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:00,489 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:00,489 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-02-20 23:42:00,489 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-02-20 23:42:00,489 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:00,489 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:00,489 INFO L74 IsIncluded]: Start isIncluded. First operand has 40 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 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) Second operand 49 states. [2022-02-20 23:42:00,489 INFO L87 Difference]: Start difference. First operand has 40 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 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) Second operand 49 states. [2022-02-20 23:42:00,490 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:00,490 INFO L93 Difference]: Finished difference Result 49 states and 54 transitions. [2022-02-20 23:42:00,490 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 54 transitions. [2022-02-20 23:42:00,490 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:00,490 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:00,490 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:00,490 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:00,490 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 40 states, 38 states have (on average 1.1842105263157894) internal successors, (45), 39 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:00,490 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 45 transitions. [2022-02-20 23:42:00,491 INFO L78 Accepts]: Start accepts. Automaton has 40 states and 45 transitions. Word has length 25 [2022-02-20 23:42:00,491 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:00,491 INFO L470 AbstractCegarLoop]: Abstraction has 40 states and 45 transitions. [2022-02-20 23:42:00,491 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 23 states, 22 states have (on average 2.409090909090909) internal successors, (53), 23 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (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,491 INFO L276 IsEmpty]: Start isEmpty. Operand 40 states and 45 transitions. [2022-02-20 23:42:00,491 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:42:00,491 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:00,491 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:00,509 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:00,696 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:00,696 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:00,696 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:00,696 INFO L85 PathProgramCache]: Analyzing trace with hash -278256, now seen corresponding path program 1 times [2022-02-20 23:42:00,696 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:00,696 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1993547446] [2022-02-20 23:42:00,696 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:00,697 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:00,723 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:01,106 INFO L290 TraceCheckUtils]: 0: Hoare triple {5068#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5068#true} is VALID [2022-02-20 23:42:01,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {5068#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5068#true} is VALID [2022-02-20 23:42:01,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {5068#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {5070#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:01,107 INFO L290 TraceCheckUtils]: 3: Hoare triple {5070#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~length2~0#1 < 1); {5070#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:01,107 INFO L290 TraceCheckUtils]: 4: Hoare triple {5070#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {5071#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:01,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {5071#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {5071#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:01,112 INFO L290 TraceCheckUtils]: 6: Hoare triple {5071#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {5072#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:01,113 INFO L290 TraceCheckUtils]: 7: Hoare triple {5072#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {5073#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:01,113 INFO L290 TraceCheckUtils]: 8: Hoare triple {5073#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {5073#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:01,114 INFO L290 TraceCheckUtils]: 9: Hoare triple {5073#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet13#1; {5073#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:01,115 INFO L290 TraceCheckUtils]: 10: Hoare triple {5073#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {5074#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:01,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {5074#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {5074#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:01,116 INFO L290 TraceCheckUtils]: 12: Hoare triple {5074#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {5075#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:01,116 INFO L290 TraceCheckUtils]: 13: Hoare triple {5075#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {5076#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:01,117 INFO L290 TraceCheckUtils]: 14: Hoare triple {5076#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {5077#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:01,118 INFO L290 TraceCheckUtils]: 15: Hoare triple {5077#(and (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5078#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (or (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0)) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} is VALID [2022-02-20 23:42:01,118 INFO L290 TraceCheckUtils]: 16: Hoare triple {5078#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (or (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0)) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {5079#(or (= |ULTIMATE.start_cstrspn_#t~mem3#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:01,119 INFO L290 TraceCheckUtils]: 17: Hoare triple {5079#(or (= |ULTIMATE.start_cstrspn_#t~mem3#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {5080#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:01,119 INFO L290 TraceCheckUtils]: 18: Hoare triple {5080#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {5080#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:01,119 INFO L290 TraceCheckUtils]: 19: Hoare triple {5080#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {5080#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:01,120 INFO L290 TraceCheckUtils]: 20: Hoare triple {5080#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {5080#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:01,120 INFO L290 TraceCheckUtils]: 21: Hoare triple {5080#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {5081#(or (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|)))} is VALID [2022-02-20 23:42:01,120 INFO L290 TraceCheckUtils]: 22: Hoare triple {5081#(or (and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {5082#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:01,121 INFO L290 TraceCheckUtils]: 23: Hoare triple {5082#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5083#(and (<= 1 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} is VALID [2022-02-20 23:42:01,121 INFO L290 TraceCheckUtils]: 24: Hoare triple {5083#(and (<= 1 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {5069#false} is VALID [2022-02-20 23:42:01,121 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:01,122 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:01,122 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1993547446] [2022-02-20 23:42:01,122 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1993547446] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:01,122 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1935225932] [2022-02-20 23:42:01,122 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:01,122 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:01,122 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:01,123 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,123 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:01,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:01,186 INFO L263 TraceCheckSpWp]: Trace formula consists of 154 conjuncts, 37 conjunts are in the unsatisfiable core [2022-02-20 23:42:01,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:01,195 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:01,348 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:01,484 INFO L356 Elim1Store]: treesize reduction 40, result has 20.0 percent of original size [2022-02-20 23:42:01,485 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 25 treesize of output 24 [2022-02-20 23:42:01,841 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:42:01,843 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:01,843 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 17 treesize of output 10 [2022-02-20 23:42:01,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {5068#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5068#true} is VALID [2022-02-20 23:42:01,940 INFO L290 TraceCheckUtils]: 1: Hoare triple {5068#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5068#true} is VALID [2022-02-20 23:42:01,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {5068#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {5070#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:01,941 INFO L290 TraceCheckUtils]: 3: Hoare triple {5070#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~length2~0#1 < 1); {5070#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:01,942 INFO L290 TraceCheckUtils]: 4: Hoare triple {5070#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {5099#(and (<= |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:01,942 INFO L290 TraceCheckUtils]: 5: Hoare triple {5099#(and (<= |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 - 1); {5099#(and (<= |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:01,944 INFO L290 TraceCheckUtils]: 6: Hoare triple {5099#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {5099#(and (<= |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:01,948 INFO L290 TraceCheckUtils]: 7: Hoare triple {5099#(and (<= |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~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {5099#(and (<= |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:01,948 INFO L290 TraceCheckUtils]: 8: Hoare triple {5099#(and (<= |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~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {5099#(and (<= |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:01,949 INFO L290 TraceCheckUtils]: 9: Hoare triple {5099#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet13#1; {5099#(and (<= |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:01,949 INFO L290 TraceCheckUtils]: 10: Hoare triple {5099#(and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {5099#(and (<= |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:01,950 INFO L290 TraceCheckUtils]: 11: Hoare triple {5099#(and (<= |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~1#1 < main_~length2~0#1 - 1); {5099#(and (<= |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:01,950 INFO L290 TraceCheckUtils]: 12: Hoare triple {5099#(and (<= |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(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {5124#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (= (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_~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:01,951 INFO L290 TraceCheckUtils]: 13: Hoare triple {5124#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (= (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_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |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: L545 {5124#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (= (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_~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:01,952 INFO L290 TraceCheckUtils]: 14: Hoare triple {5124#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (= (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_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {5131#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))))) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} is VALID [2022-02-20 23:42:01,953 INFO L290 TraceCheckUtils]: 15: Hoare triple {5131#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))))) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5135#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0))) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} is VALID [2022-02-20 23:42:01,953 INFO L290 TraceCheckUtils]: 16: Hoare triple {5135#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= |ULTIMATE.start_main_~length1~0#1| 1) (<= 1 |ULTIMATE.start_main_~length1~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0))) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {5139#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:01,954 INFO L290 TraceCheckUtils]: 17: Hoare triple {5139#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {5143#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:01,954 INFO L290 TraceCheckUtils]: 18: Hoare triple {5143#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {5143#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:01,954 INFO L290 TraceCheckUtils]: 19: Hoare triple {5143#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {5143#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:01,954 INFO L290 TraceCheckUtils]: 20: Hoare triple {5143#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {5143#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:01,955 INFO L290 TraceCheckUtils]: 21: Hoare triple {5143#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {5156#(and (not (= |ULTIMATE.start_cstrspn_~sc~0#1| 0)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0))} is VALID [2022-02-20 23:42:01,955 INFO L290 TraceCheckUtils]: 22: Hoare triple {5156#(and (not (= |ULTIMATE.start_cstrspn_~sc~0#1| 0)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {5069#false} is VALID [2022-02-20 23:42:01,955 INFO L290 TraceCheckUtils]: 23: Hoare triple {5069#false} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5069#false} is VALID [2022-02-20 23:42:01,955 INFO L290 TraceCheckUtils]: 24: Hoare triple {5069#false} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {5069#false} is VALID [2022-02-20 23:42:01,955 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:01,955 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:42:01,956 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1935225932] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:01,956 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:42:01,956 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [15] total 23 [2022-02-20 23:42:01,956 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1758621419] [2022-02-20 23:42:01,956 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:01,956 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 10 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:01,956 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:01,956 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 10 states have (on average 2.5) internal successors, (25), 10 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:01,974 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:01,974 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:42:01,975 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:01,975 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:42:01,975 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=449, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:42:01,975 INFO L87 Difference]: Start difference. First operand 40 states and 45 transitions. Second operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 10 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:02,109 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,109 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-02-20 23:42:02,109 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:42:02,109 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 10 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:02,109 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:02,109 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 10 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:02,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-02-20 23:42:02,110 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 10 states have (on average 2.5) internal successors, (25), 10 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:02,110 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 56 transitions. [2022-02-20 23:42:02,110 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 56 transitions. [2022-02-20 23:42:02,152 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:02,153 INFO L225 Difference]: With dead ends: 65 [2022-02-20 23:42:02,153 INFO L226 Difference]: Without dead ends: 65 [2022-02-20 23:42:02,153 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 41 GetRequests, 17 SyntacticMatches, 2 SemanticMatches, 22 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 94 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=62, Invalid=490, Unknown=0, NotChecked=0, Total=552 [2022-02-20 23:42:02,153 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 17 mSDsluCounter, 138 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 163 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 43 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:02,153 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 163 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 28 Invalid, 0 Unknown, 43 Unchecked, 0.0s Time] [2022-02-20 23:42:02,154 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 65 states. [2022-02-20 23:42:02,154 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 65 to 64. [2022-02-20 23:42:02,155 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:02,155 INFO L82 GeneralOperation]: Start isEquivalent. First operand 65 states. Second operand has 64 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 63 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,155 INFO L74 IsIncluded]: Start isIncluded. First operand 65 states. Second operand has 64 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 63 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,155 INFO L87 Difference]: Start difference. First operand 65 states. Second operand has 64 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 63 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,155 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,155 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-02-20 23:42:02,156 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-02-20 23:42:02,156 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:02,156 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:02,156 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 63 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 65 states. [2022-02-20 23:42:02,156 INFO L87 Difference]: Start difference. First operand has 64 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 63 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 65 states. [2022-02-20 23:42:02,169 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,170 INFO L93 Difference]: Finished difference Result 65 states and 71 transitions. [2022-02-20 23:42:02,170 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 71 transitions. [2022-02-20 23:42:02,170 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:02,171 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:02,171 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:02,174 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:02,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 62 states have (on average 1.1451612903225807) internal successors, (71), 63 states have internal predecessors, (71), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,176 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 71 transitions. [2022-02-20 23:42:02,176 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 71 transitions. Word has length 25 [2022-02-20 23:42:02,176 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:02,176 INFO L470 AbstractCegarLoop]: Abstraction has 64 states and 71 transitions. [2022-02-20 23:42:02,177 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 10 states have (on average 2.5) internal successors, (25), 10 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:02,177 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 71 transitions. [2022-02-20 23:42:02,178 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:42:02,178 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:02,178 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:02,194 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-02-20 23:42:02,389 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:02,389 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:02,389 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:02,390 INFO L85 PathProgramCache]: Analyzing trace with hash -1805716590, now seen corresponding path program 1 times [2022-02-20 23:42:02,390 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:02,390 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1020818950] [2022-02-20 23:42:02,390 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:02,390 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:02,406 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:02,571 INFO L290 TraceCheckUtils]: 0: Hoare triple {5426#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5426#true} is VALID [2022-02-20 23:42:02,571 INFO L290 TraceCheckUtils]: 1: Hoare triple {5426#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5426#true} is VALID [2022-02-20 23:42:02,572 INFO L290 TraceCheckUtils]: 2: Hoare triple {5426#true} assume !(main_~length1~0#1 < 1); {5428#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:02,572 INFO L290 TraceCheckUtils]: 3: Hoare triple {5428#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~length2~0#1 < 1); {5428#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:02,573 INFO L290 TraceCheckUtils]: 4: Hoare triple {5428#(<= 1 |ULTIMATE.start_main_~length1~0#1|)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {5429#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)))} is VALID [2022-02-20 23:42:02,573 INFO L290 TraceCheckUtils]: 5: Hoare triple {5429#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (not (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 0)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:02,574 INFO L290 TraceCheckUtils]: 6: Hoare triple {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:02,574 INFO L290 TraceCheckUtils]: 7: Hoare triple {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:02,575 INFO L290 TraceCheckUtils]: 8: Hoare triple {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:02,575 INFO L290 TraceCheckUtils]: 9: Hoare triple {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet13#1; {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:02,576 INFO L290 TraceCheckUtils]: 10: Hoare triple {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:02,576 INFO L290 TraceCheckUtils]: 11: Hoare triple {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:02,577 INFO L290 TraceCheckUtils]: 12: Hoare triple {5430#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 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: L541-4 {5431#(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:02,577 INFO L290 TraceCheckUtils]: 13: Hoare triple {5431#(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: L545 {5431#(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:02,578 INFO L290 TraceCheckUtils]: 14: Hoare triple {5431#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {5432#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:02,578 INFO L290 TraceCheckUtils]: 15: Hoare triple {5432#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5433#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0)} is VALID [2022-02-20 23:42:02,578 INFO L290 TraceCheckUtils]: 16: Hoare triple {5433#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {5434#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:02,579 INFO L290 TraceCheckUtils]: 17: Hoare triple {5434#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {5435#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:02,579 INFO L290 TraceCheckUtils]: 18: Hoare triple {5435#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {5435#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:02,579 INFO L290 TraceCheckUtils]: 19: Hoare triple {5435#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {5435#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:02,579 INFO L290 TraceCheckUtils]: 20: Hoare triple {5435#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {5435#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:02,580 INFO L290 TraceCheckUtils]: 21: Hoare triple {5435#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {5436#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:02,580 INFO L290 TraceCheckUtils]: 22: Hoare triple {5436#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {5427#false} is VALID [2022-02-20 23:42:02,580 INFO L290 TraceCheckUtils]: 23: Hoare triple {5427#false} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5427#false} is VALID [2022-02-20 23:42:02,580 INFO L290 TraceCheckUtils]: 24: Hoare triple {5427#false} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {5427#false} is VALID [2022-02-20 23:42:02,580 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,581 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:02,581 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1020818950] [2022-02-20 23:42:02,581 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1020818950] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:42:02,581 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:42:02,581 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-02-20 23:42:02,581 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [999788205] [2022-02-20 23:42:02,581 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:42:02,582 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 11 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:02,582 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:02,582 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 11 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:02,598 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:02,599 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:42:02,599 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:02,599 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:42:02,599 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=22, Invalid=88, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:42:02,599 INFO L87 Difference]: Start difference. First operand 64 states and 71 transitions. Second operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 11 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:02,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,890 INFO L93 Difference]: Finished difference Result 93 states and 102 transitions. [2022-02-20 23:42:02,890 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:42:02,890 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 11 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:02,890 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:02,890 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 11 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:02,891 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 61 transitions. [2022-02-20 23:42:02,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 11 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:02,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 61 transitions. [2022-02-20 23:42:02,892 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 61 transitions. [2022-02-20 23:42:02,946 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:02,947 INFO L225 Difference]: With dead ends: 93 [2022-02-20 23:42:02,947 INFO L226 Difference]: Without dead ends: 93 [2022-02-20 23:42:02,948 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 19 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 16 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=77, Invalid=229, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:42:02,948 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 73 mSDsluCounter, 134 mSDsCounter, 0 mSdLazyCounter, 120 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 153 SdHoareTripleChecker+Invalid, 131 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 120 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:02,948 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [73 Valid, 153 Invalid, 131 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 120 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:42:02,948 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 93 states. [2022-02-20 23:42:02,949 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 93 to 65. [2022-02-20 23:42:02,949 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:02,950 INFO L82 GeneralOperation]: Start isEquivalent. First operand 93 states. Second operand has 65 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 64 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,950 INFO L74 IsIncluded]: Start isIncluded. First operand 93 states. Second operand has 65 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 64 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,950 INFO L87 Difference]: Start difference. First operand 93 states. Second operand has 65 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 64 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,951 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,951 INFO L93 Difference]: Finished difference Result 93 states and 102 transitions. [2022-02-20 23:42:02,951 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 102 transitions. [2022-02-20 23:42:02,951 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:02,951 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:02,951 INFO L74 IsIncluded]: Start isIncluded. First operand has 65 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 64 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 93 states. [2022-02-20 23:42:02,951 INFO L87 Difference]: Start difference. First operand has 65 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 64 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 93 states. [2022-02-20 23:42:02,952 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:02,952 INFO L93 Difference]: Finished difference Result 93 states and 102 transitions. [2022-02-20 23:42:02,952 INFO L276 IsEmpty]: Start isEmpty. Operand 93 states and 102 transitions. [2022-02-20 23:42:02,953 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:02,953 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:02,953 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:02,953 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:02,953 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 65 states, 63 states have (on average 1.1587301587301588) internal successors, (73), 64 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:02,953 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 65 states to 65 states and 73 transitions. [2022-02-20 23:42:02,953 INFO L78 Accepts]: Start accepts. Automaton has 65 states and 73 transitions. Word has length 25 [2022-02-20 23:42:02,954 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:02,954 INFO L470 AbstractCegarLoop]: Abstraction has 65 states and 73 transitions. [2022-02-20 23:42:02,954 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.272727272727273) internal successors, (25), 11 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:02,954 INFO L276 IsEmpty]: Start isEmpty. Operand 65 states and 73 transitions. [2022-02-20 23:42:02,954 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:42:02,954 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:02,954 INFO L514 BasicCegarLoop]: trace histogram [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:02,954 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20 [2022-02-20 23:42:02,955 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:02,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:02,955 INFO L85 PathProgramCache]: Analyzing trace with hash -2113727723, now seen corresponding path program 1 times [2022-02-20 23:42:02,955 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:02,955 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [46493637] [2022-02-20 23:42:02,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:02,955 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:02,971 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:03,074 INFO L290 TraceCheckUtils]: 0: Hoare triple {5797#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5797#true} is VALID [2022-02-20 23:42:03,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {5797#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5797#true} is VALID [2022-02-20 23:42:03,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {5797#true} assume !(main_~length1~0#1 < 1); {5797#true} is VALID [2022-02-20 23:42:03,075 INFO L290 TraceCheckUtils]: 3: Hoare triple {5797#true} assume !(main_~length2~0#1 < 1); {5797#true} is VALID [2022-02-20 23:42:03,076 INFO L290 TraceCheckUtils]: 4: Hoare triple {5797#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {5799#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:03,076 INFO L290 TraceCheckUtils]: 5: Hoare triple {5799#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {5800#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:03,076 INFO L290 TraceCheckUtils]: 6: Hoare triple {5800#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {5800#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:03,077 INFO L290 TraceCheckUtils]: 7: Hoare triple {5800#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet11#1; {5800#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:03,077 INFO L290 TraceCheckUtils]: 8: Hoare triple {5800#(and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:03,077 INFO L290 TraceCheckUtils]: 9: Hoare triple {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:03,078 INFO L290 TraceCheckUtils]: 10: Hoare triple {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} main_~i~1#1 := 0; {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:03,078 INFO L290 TraceCheckUtils]: 11: Hoare triple {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:03,079 INFO L290 TraceCheckUtils]: 12: Hoare triple {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:03,079 INFO L290 TraceCheckUtils]: 13: Hoare triple {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} havoc main_#t~nondet13#1; {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:03,079 INFO L290 TraceCheckUtils]: 14: Hoare triple {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:03,080 INFO L290 TraceCheckUtils]: 15: Hoare triple {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:03,080 INFO L290 TraceCheckUtils]: 16: Hoare triple {5801#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {5802#(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:03,081 INFO L290 TraceCheckUtils]: 17: Hoare triple {5802#(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: L545 {5802#(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:03,081 INFO L290 TraceCheckUtils]: 18: Hoare triple {5802#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {5803#(and (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,082 INFO L290 TraceCheckUtils]: 19: Hoare triple {5803#(and (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0) (<= 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5804#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (+ (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|)) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} is VALID [2022-02-20 23:42:03,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {5804#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (+ (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|)) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,085 INFO L290 TraceCheckUtils]: 21: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,085 INFO L290 TraceCheckUtils]: 22: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,085 INFO L290 TraceCheckUtils]: 23: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,086 INFO L290 TraceCheckUtils]: 24: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,086 INFO L290 TraceCheckUtils]: 26: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,087 INFO L290 TraceCheckUtils]: 27: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5806#(and (<= 1 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} is VALID [2022-02-20 23:42:03,087 INFO L290 TraceCheckUtils]: 28: Hoare triple {5806#(and (<= 1 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {5798#false} is VALID [2022-02-20 23:42:03,087 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:03,087 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:03,088 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [46493637] [2022-02-20 23:42:03,088 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [46493637] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:03,088 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [254561969] [2022-02-20 23:42:03,088 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:03,088 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:03,088 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:03,089 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:03,089 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:03,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:03,147 INFO L263 TraceCheckSpWp]: Trace formula consists of 166 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 23:42:03,156 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:03,157 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:03,423 INFO L290 TraceCheckUtils]: 0: Hoare triple {5797#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5797#true} is VALID [2022-02-20 23:42:03,424 INFO L290 TraceCheckUtils]: 1: Hoare triple {5797#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5797#true} is VALID [2022-02-20 23:42:03,424 INFO L290 TraceCheckUtils]: 2: Hoare triple {5797#true} assume !(main_~length1~0#1 < 1); {5797#true} is VALID [2022-02-20 23:42:03,424 INFO L290 TraceCheckUtils]: 3: Hoare triple {5797#true} assume !(main_~length2~0#1 < 1); {5797#true} is VALID [2022-02-20 23:42:03,425 INFO L290 TraceCheckUtils]: 4: Hoare triple {5797#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {5822#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:03,425 INFO L290 TraceCheckUtils]: 5: Hoare triple {5822#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,425 INFO L290 TraceCheckUtils]: 6: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,426 INFO L290 TraceCheckUtils]: 7: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet11#1; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,426 INFO L290 TraceCheckUtils]: 8: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,426 INFO L290 TraceCheckUtils]: 9: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,426 INFO L290 TraceCheckUtils]: 10: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_~i~1#1 := 0; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,426 INFO L290 TraceCheckUtils]: 11: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,427 INFO L290 TraceCheckUtils]: 12: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,427 INFO L290 TraceCheckUtils]: 13: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet13#1; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,427 INFO L290 TraceCheckUtils]: 14: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,427 INFO L290 TraceCheckUtils]: 15: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,428 INFO L290 TraceCheckUtils]: 16: Hoare triple {5826#(< 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: L541-4 {5860#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:03,429 INFO L290 TraceCheckUtils]: 17: Hoare triple {5860#(< (+ |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: L545 {5860#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} is VALID [2022-02-20 23:42:03,429 INFO L290 TraceCheckUtils]: 18: Hoare triple {5860#(< (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {5867#(< (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))} is VALID [2022-02-20 23:42:03,430 INFO L290 TraceCheckUtils]: 19: Hoare triple {5867#(< (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5871#(and (< (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1)))} is VALID [2022-02-20 23:42:03,430 INFO L290 TraceCheckUtils]: 20: Hoare triple {5871#(and (< (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,431 INFO L290 TraceCheckUtils]: 21: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,431 INFO L290 TraceCheckUtils]: 22: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,431 INFO L290 TraceCheckUtils]: 23: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,432 INFO L290 TraceCheckUtils]: 24: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,432 INFO L290 TraceCheckUtils]: 25: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,432 INFO L290 TraceCheckUtils]: 26: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {5805#(and (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5806#(and (<= 1 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} is VALID [2022-02-20 23:42:03,433 INFO L290 TraceCheckUtils]: 28: Hoare triple {5806#(and (<= 1 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {5798#false} is VALID [2022-02-20 23:42:03,433 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:03,433 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:03,684 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:03,747 INFO L290 TraceCheckUtils]: 28: Hoare triple {5899#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {5798#false} is VALID [2022-02-20 23:42:03,748 INFO L290 TraceCheckUtils]: 27: Hoare triple {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5899#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} is VALID [2022-02-20 23:42:03,748 INFO L290 TraceCheckUtils]: 26: Hoare triple {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,749 INFO L290 TraceCheckUtils]: 25: Hoare triple {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,749 INFO L290 TraceCheckUtils]: 24: Hoare triple {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,750 INFO L290 TraceCheckUtils]: 23: Hoare triple {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,750 INFO L290 TraceCheckUtils]: 22: Hoare triple {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,750 INFO L290 TraceCheckUtils]: 21: Hoare triple {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {5925#(or (not (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|)) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {5903#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:03,752 INFO L290 TraceCheckUtils]: 19: Hoare triple {5929#(or (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (< |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {5925#(or (not (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|)) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:03,752 INFO L290 TraceCheckUtils]: 18: Hoare triple {5933#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {5929#(or (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (< |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} is VALID [2022-02-20 23:42:03,753 INFO L290 TraceCheckUtils]: 17: Hoare triple {5933#(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: L545 {5933#(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:03,753 INFO L290 TraceCheckUtils]: 16: Hoare triple {5826#(< 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: L541-4 {5933#(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:03,753 INFO L290 TraceCheckUtils]: 15: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,754 INFO L290 TraceCheckUtils]: 14: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,754 INFO L290 TraceCheckUtils]: 13: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet13#1; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,754 INFO L290 TraceCheckUtils]: 12: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,755 INFO L290 TraceCheckUtils]: 11: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,755 INFO L290 TraceCheckUtils]: 10: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_~i~1#1 := 0; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,755 INFO L290 TraceCheckUtils]: 9: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,755 INFO L290 TraceCheckUtils]: 8: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,756 INFO L290 TraceCheckUtils]: 7: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} havoc main_#t~nondet11#1; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,756 INFO L290 TraceCheckUtils]: 6: Hoare triple {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,756 INFO L290 TraceCheckUtils]: 5: Hoare triple {5822#(<= 0 |ULTIMATE.start_main_~i~0#1|)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {5826#(< 1 |ULTIMATE.start_main_~length1~0#1|)} is VALID [2022-02-20 23:42:03,757 INFO L290 TraceCheckUtils]: 4: Hoare triple {5797#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {5822#(<= 0 |ULTIMATE.start_main_~i~0#1|)} is VALID [2022-02-20 23:42:03,757 INFO L290 TraceCheckUtils]: 3: Hoare triple {5797#true} assume !(main_~length2~0#1 < 1); {5797#true} is VALID [2022-02-20 23:42:03,757 INFO L290 TraceCheckUtils]: 2: Hoare triple {5797#true} assume !(main_~length1~0#1 < 1); {5797#true} is VALID [2022-02-20 23:42:03,757 INFO L290 TraceCheckUtils]: 1: Hoare triple {5797#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {5797#true} is VALID [2022-02-20 23:42:03,757 INFO L290 TraceCheckUtils]: 0: Hoare triple {5797#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5797#true} is VALID [2022-02-20 23:42:03,757 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 3 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:03,758 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [254561969] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:03,758 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:03,758 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 19 [2022-02-20 23:42:03,758 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1980391761] [2022-02-20 23:42:03,758 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:03,758 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.1052631578947367) internal successors, (59), 20 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 29 [2022-02-20 23:42:03,758 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:03,758 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 19 states have (on average 3.1052631578947367) internal successors, (59), 20 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:03,801 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:03,801 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:42:03,801 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:03,802 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:42:03,802 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=320, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:42:03,802 INFO L87 Difference]: Start difference. First operand 65 states and 73 transitions. Second operand has 20 states, 19 states have (on average 3.1052631578947367) internal successors, (59), 20 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,472 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-02-20 23:42:04,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:42:04,473 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 19 states have (on average 3.1052631578947367) internal successors, (59), 20 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 29 [2022-02-20 23:42:04,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:04,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.1052631578947367) internal successors, (59), 20 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,473 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 68 transitions. [2022-02-20 23:42:04,474 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 19 states have (on average 3.1052631578947367) internal successors, (59), 20 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 68 transitions. [2022-02-20 23:42:04,475 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 68 transitions. [2022-02-20 23:42:04,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 68 edges. 68 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:04,530 INFO L225 Difference]: With dead ends: 86 [2022-02-20 23:42:04,530 INFO L226 Difference]: Without dead ends: 86 [2022-02-20 23:42:04,531 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 73 GetRequests, 45 SyntacticMatches, 2 SemanticMatches, 26 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 113 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=150, Invalid=606, Unknown=0, NotChecked=0, Total=756 [2022-02-20 23:42:04,532 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 170 mSDsluCounter, 256 mSDsCounter, 0 mSdLazyCounter, 231 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 170 SdHoareTripleChecker+Valid, 292 SdHoareTripleChecker+Invalid, 251 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 231 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:04,532 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [170 Valid, 292 Invalid, 251 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 231 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:42:04,533 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-02-20 23:42:04,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 80. [2022-02-20 23:42:04,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:04,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 80 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 79 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (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,536 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 80 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 79 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (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,536 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 80 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 79 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (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,537 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,537 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-02-20 23:42:04,537 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-02-20 23:42:04,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:04,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:04,538 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 79 states have internal predecessors, (91), 0 states have call successors, (0), 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:04,538 INFO L87 Difference]: Start difference. First operand has 80 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 79 states have internal predecessors, (91), 0 states have call successors, (0), 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:04,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:04,539 INFO L93 Difference]: Finished difference Result 86 states and 95 transitions. [2022-02-20 23:42:04,539 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 95 transitions. [2022-02-20 23:42:04,539 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:04,539 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:04,539 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:04,539 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:04,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 78 states have (on average 1.1666666666666667) internal successors, (91), 79 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (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,540 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 91 transitions. [2022-02-20 23:42:04,540 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 91 transitions. Word has length 29 [2022-02-20 23:42:04,540 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:04,540 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 91 transitions. [2022-02-20 23:42:04,540 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 19 states have (on average 3.1052631578947367) internal successors, (59), 20 states have internal predecessors, (59), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:04,540 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 91 transitions. [2022-02-20 23:42:04,541 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:42:04,542 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:04,542 INFO L514 BasicCegarLoop]: trace histogram [3, 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:04,558 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,758 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,SelfDestructingSolverStorable21 [2022-02-20 23:42:04,758 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:04,759 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:04,759 INFO L85 PathProgramCache]: Analyzing trace with hash -1128269345, now seen corresponding path program 2 times [2022-02-20 23:42:04,759 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:04,759 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [739164015] [2022-02-20 23:42:04,759 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:04,759 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:04,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:04,923 INFO L290 TraceCheckUtils]: 0: Hoare triple {6341#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6341#true} is VALID [2022-02-20 23:42:04,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {6341#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {6341#true} is VALID [2022-02-20 23:42:04,923 INFO L290 TraceCheckUtils]: 2: Hoare triple {6341#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6341#true} is VALID [2022-02-20 23:42:04,924 INFO L290 TraceCheckUtils]: 3: Hoare triple {6341#true} assume !(main_~length2~0#1 < 1); {6341#true} is VALID [2022-02-20 23:42:04,924 INFO L290 TraceCheckUtils]: 4: Hoare triple {6341#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {6343#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:04,924 INFO L290 TraceCheckUtils]: 5: Hoare triple {6343#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6343#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:04,925 INFO L290 TraceCheckUtils]: 6: Hoare triple {6343#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_~i~1#1 := 0; {6344#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:04,925 INFO L290 TraceCheckUtils]: 7: Hoare triple {6344#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {6345#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:04,926 INFO L290 TraceCheckUtils]: 8: Hoare triple {6345#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {6345#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:04,926 INFO L290 TraceCheckUtils]: 9: Hoare triple {6345#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} havoc main_#t~nondet13#1; {6345#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:04,927 INFO L290 TraceCheckUtils]: 10: Hoare triple {6345#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {6346#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:04,927 INFO L290 TraceCheckUtils]: 11: Hoare triple {6346#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6347#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1))} is VALID [2022-02-20 23:42:04,928 INFO L290 TraceCheckUtils]: 12: Hoare triple {6347#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |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: L541-4 {6347#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1))} is VALID [2022-02-20 23:42:04,928 INFO L290 TraceCheckUtils]: 13: Hoare triple {6347#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |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: L545 {6348#(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:04,929 INFO L290 TraceCheckUtils]: 14: Hoare triple {6348#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {6349#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:04,929 INFO L290 TraceCheckUtils]: 15: Hoare triple {6349#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {6349#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:04,929 INFO L290 TraceCheckUtils]: 16: Hoare triple {6349#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {6349#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:04,930 INFO L290 TraceCheckUtils]: 17: Hoare triple {6349#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {6350#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1) 0) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:42:04,930 INFO L290 TraceCheckUtils]: 18: Hoare triple {6350#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1) 0) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6351#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (* (- 1) |ULTIMATE.start_cstrspn_#t~post4#1.offset|))) 0) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} is VALID [2022-02-20 23:42:04,931 INFO L290 TraceCheckUtils]: 19: Hoare triple {6351#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (* (- 1) |ULTIMATE.start_cstrspn_#t~post4#1.offset|))) 0) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {6352#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:04,931 INFO L290 TraceCheckUtils]: 20: Hoare triple {6352#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {6352#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:04,931 INFO L290 TraceCheckUtils]: 21: Hoare triple {6352#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {6352#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:04,932 INFO L290 TraceCheckUtils]: 22: Hoare triple {6352#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {6352#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:04,932 INFO L290 TraceCheckUtils]: 23: Hoare triple {6352#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6353#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:42:04,932 INFO L290 TraceCheckUtils]: 24: Hoare triple {6353#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {6354#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:42:04,933 INFO L290 TraceCheckUtils]: 25: Hoare triple {6354#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {6355#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:42:04,933 INFO L290 TraceCheckUtils]: 26: Hoare triple {6355#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {6342#false} is VALID [2022-02-20 23:42:04,933 INFO L290 TraceCheckUtils]: 27: Hoare triple {6342#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {6342#false} is VALID [2022-02-20 23:42:04,933 INFO L290 TraceCheckUtils]: 28: Hoare triple {6342#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6342#false} is VALID [2022-02-20 23:42:04,933 INFO L290 TraceCheckUtils]: 29: Hoare triple {6342#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {6342#false} is VALID [2022-02-20 23:42:04,933 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 5 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:04,933 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:04,933 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [739164015] [2022-02-20 23:42:04,933 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [739164015] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:04,933 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [435236810] [2022-02-20 23:42:04,933 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:42:04,934 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:04,934 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:04,935 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:04,935 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,005 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:42:05,005 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:05,007 INFO L263 TraceCheckSpWp]: Trace formula consists of 171 conjuncts, 44 conjunts are in the unsatisfiable core [2022-02-20 23:42:05,016 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:05,017 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:05,125 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:07,511 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:07,511 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:07,817 INFO L290 TraceCheckUtils]: 0: Hoare triple {6341#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6341#true} is VALID [2022-02-20 23:42:07,817 INFO L290 TraceCheckUtils]: 1: Hoare triple {6341#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {6341#true} is VALID [2022-02-20 23:42:07,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {6341#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6341#true} is VALID [2022-02-20 23:42:07,817 INFO L290 TraceCheckUtils]: 3: Hoare triple {6341#true} assume !(main_~length2~0#1 < 1); {6341#true} is VALID [2022-02-20 23:42:07,817 INFO L290 TraceCheckUtils]: 4: Hoare triple {6341#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {6341#true} is VALID [2022-02-20 23:42:07,817 INFO L290 TraceCheckUtils]: 5: Hoare triple {6341#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6341#true} is VALID [2022-02-20 23:42:07,818 INFO L290 TraceCheckUtils]: 6: Hoare triple {6341#true} main_~i~1#1 := 0; {6377#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:07,818 INFO L290 TraceCheckUtils]: 7: Hoare triple {6377#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:07,818 INFO L290 TraceCheckUtils]: 8: Hoare triple {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:07,819 INFO L290 TraceCheckUtils]: 9: Hoare triple {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet13#1; {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:07,819 INFO L290 TraceCheckUtils]: 10: Hoare triple {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:07,819 INFO L290 TraceCheckUtils]: 11: Hoare triple {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:07,819 INFO L290 TraceCheckUtils]: 12: Hoare triple {6381#(< 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: L541-4 {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:07,821 INFO L290 TraceCheckUtils]: 13: Hoare triple {6381#(< 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: L545 {6400#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= (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|)))} is VALID [2022-02-20 23:42:07,824 INFO L290 TraceCheckUtils]: 14: Hoare triple {6400#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= (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|)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {6404#(exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (<= |ULTIMATE.start_cstrspn_~s2#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0)))} is VALID [2022-02-20 23:42:07,826 INFO L290 TraceCheckUtils]: 15: Hoare triple {6404#(exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (<= |ULTIMATE.start_cstrspn_~s2#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {6404#(exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (<= |ULTIMATE.start_cstrspn_~s2#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0)))} is VALID [2022-02-20 23:42:07,830 INFO L290 TraceCheckUtils]: 16: Hoare triple {6404#(exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (<= |ULTIMATE.start_cstrspn_~s2#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {6404#(exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (<= |ULTIMATE.start_cstrspn_~s2#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0)))} is VALID [2022-02-20 23:42:07,833 INFO L290 TraceCheckUtils]: 17: Hoare triple {6404#(exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (<= |ULTIMATE.start_cstrspn_~s2#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {6414#(exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:07,836 INFO L290 TraceCheckUtils]: 18: Hoare triple {6414#(exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6418#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:07,839 INFO L290 TraceCheckUtils]: 19: Hoare triple {6418#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {6422#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:07,842 INFO L290 TraceCheckUtils]: 20: Hoare triple {6422#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {6422#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:07,843 INFO L290 TraceCheckUtils]: 21: Hoare triple {6422#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {6422#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:07,845 INFO L290 TraceCheckUtils]: 22: Hoare triple {6422#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {6422#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:07,846 INFO L290 TraceCheckUtils]: 23: Hoare triple {6422#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< 1 |ULTIMATE.start_main_~length2~0#1|))) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6435#(and (<= 1 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (= |ULTIMATE.start_cstrspn_~spanp~0#1.base| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:07,847 INFO L290 TraceCheckUtils]: 24: Hoare triple {6435#(and (<= 1 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (= |ULTIMATE.start_cstrspn_~spanp~0#1.base| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (exists ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {6439#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (or (and (= |ULTIMATE.start_cstrspn_#t~mem5#1| 0) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1))) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))))} is VALID [2022-02-20 23:42:07,848 INFO L290 TraceCheckUtils]: 25: Hoare triple {6439#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (or (and (= |ULTIMATE.start_cstrspn_#t~mem5#1| 0) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1))) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {6443#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (or (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (and (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1)))))} is VALID [2022-02-20 23:42:07,848 INFO L290 TraceCheckUtils]: 26: Hoare triple {6443#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (or (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (and (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (+ (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1)))))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {6447#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:07,848 INFO L290 TraceCheckUtils]: 27: Hoare triple {6447#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {6447#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:07,849 INFO L290 TraceCheckUtils]: 28: Hoare triple {6447#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6454#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (< |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} is VALID [2022-02-20 23:42:07,849 INFO L290 TraceCheckUtils]: 29: Hoare triple {6454#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (< |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {6342#false} is VALID [2022-02-20 23:42:07,849 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:07,850 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:08,922 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:08,955 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:09,013 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 35 treesize of output 27 [2022-02-20 23:42:09,099 INFO L290 TraceCheckUtils]: 29: Hoare triple {6458#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {6342#false} is VALID [2022-02-20 23:42:09,099 INFO L290 TraceCheckUtils]: 28: Hoare triple {6462#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6458#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} is VALID [2022-02-20 23:42:09,100 INFO L290 TraceCheckUtils]: 27: Hoare triple {6462#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {6462#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:09,100 INFO L290 TraceCheckUtils]: 26: Hoare triple {6469#(or (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {6462#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:09,100 INFO L290 TraceCheckUtils]: 25: Hoare triple {6473#(or (= |ULTIMATE.start_cstrspn_#t~mem5#1| 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {6469#(or (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} is VALID [2022-02-20 23:42:09,101 INFO L290 TraceCheckUtils]: 24: Hoare triple {6477#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {6473#(or (= |ULTIMATE.start_cstrspn_#t~mem5#1| 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} is VALID [2022-02-20 23:42:09,101 INFO L290 TraceCheckUtils]: 23: Hoare triple {6481#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6477#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} is VALID [2022-02-20 23:42:09,102 INFO L290 TraceCheckUtils]: 22: Hoare triple {6481#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {6481#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:09,102 INFO L290 TraceCheckUtils]: 21: Hoare triple {6481#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {6481#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:09,104 INFO L290 TraceCheckUtils]: 20: Hoare triple {6481#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {6481#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:09,104 INFO L290 TraceCheckUtils]: 19: Hoare triple {6494#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (not (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|)) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {6481#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:09,106 INFO L290 TraceCheckUtils]: 18: Hoare triple {6498#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (not (<= |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {6494#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (not (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|)) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:09,106 INFO L290 TraceCheckUtils]: 17: Hoare triple {6502#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {6498#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (not (<= |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))))} is VALID [2022-02-20 23:42:09,107 INFO L290 TraceCheckUtils]: 16: Hoare triple {6502#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {6502#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0)))} is VALID [2022-02-20 23:42:09,107 INFO L290 TraceCheckUtils]: 15: Hoare triple {6502#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {6502#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0)))} is VALID [2022-02-20 23:42:09,108 INFO L290 TraceCheckUtils]: 14: Hoare triple {6512#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (< |ULTIMATE.start_main_~nondetString2~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {6502#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0)))} is VALID [2022-02-20 23:42:09,108 INFO L290 TraceCheckUtils]: 13: Hoare triple {6381#(< 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: L545 {6512#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| Int)) (or (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|)) (< |ULTIMATE.start_main_~nondetString2~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 1)) 0) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_18| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} is VALID [2022-02-20 23:42:09,109 INFO L290 TraceCheckUtils]: 12: Hoare triple {6381#(< 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: L541-4 {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:09,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:09,110 INFO L290 TraceCheckUtils]: 10: Hoare triple {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:09,110 INFO L290 TraceCheckUtils]: 9: Hoare triple {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet13#1; {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:09,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:09,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {6377#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {6381#(< 1 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:09,111 INFO L290 TraceCheckUtils]: 6: Hoare triple {6341#true} main_~i~1#1 := 0; {6377#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:09,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {6341#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {6341#true} is VALID [2022-02-20 23:42:09,111 INFO L290 TraceCheckUtils]: 4: Hoare triple {6341#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {6341#true} is VALID [2022-02-20 23:42:09,111 INFO L290 TraceCheckUtils]: 3: Hoare triple {6341#true} assume !(main_~length2~0#1 < 1); {6341#true} is VALID [2022-02-20 23:42:09,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {6341#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {6341#true} is VALID [2022-02-20 23:42:09,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {6341#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {6341#true} is VALID [2022-02-20 23:42:09,111 INFO L290 TraceCheckUtils]: 0: Hoare triple {6341#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6341#true} is VALID [2022-02-20 23:42:09,111 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:09,111 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [435236810] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:09,111 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:09,111 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 37 [2022-02-20 23:42:09,112 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2077747453] [2022-02-20 23:42:09,112 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:09,112 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 37 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 30 [2022-02-20 23:42:09,112 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:09,112 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 37 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:09,183 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 73 edges. 73 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:09,183 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 37 states [2022-02-20 23:42:09,183 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:09,183 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 37 interpolants. [2022-02-20 23:42:09,183 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=119, Invalid=1213, Unknown=0, NotChecked=0, Total=1332 [2022-02-20 23:42:09,184 INFO L87 Difference]: Start difference. First operand 80 states and 91 transitions. Second operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 37 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:10,144 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:10,144 INFO L93 Difference]: Finished difference Result 134 states and 147 transitions. [2022-02-20 23:42:10,144 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-02-20 23:42:10,144 INFO L78 Accepts]: Start accepts. Automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 37 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 30 [2022-02-20 23:42:10,144 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:10,144 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 37 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:10,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 77 transitions. [2022-02-20 23:42:10,145 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 37 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:10,145 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 77 transitions. [2022-02-20 23:42:10,145 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 26 states and 77 transitions. [2022-02-20 23:42:10,234 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 77 edges. 77 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:10,236 INFO L225 Difference]: With dead ends: 134 [2022-02-20 23:42:10,236 INFO L226 Difference]: Without dead ends: 115 [2022-02-20 23:42:10,236 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 50 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 458 ImplicationChecksByTransitivity, 1.0s TimeCoverageRelationStatistics Valid=254, Invalid=2398, Unknown=0, NotChecked=0, Total=2652 [2022-02-20 23:42:10,237 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 82 mSDsluCounter, 456 mSDsCounter, 0 mSdLazyCounter, 200 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 481 SdHoareTripleChecker+Invalid, 327 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 200 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 116 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:10,237 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [82 Valid, 481 Invalid, 327 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 200 Invalid, 0 Unknown, 116 Unchecked, 0.2s Time] [2022-02-20 23:42:10,237 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 115 states. [2022-02-20 23:42:10,239 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 115 to 109. [2022-02-20 23:42:10,239 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:10,239 INFO L82 GeneralOperation]: Start isEquivalent. First operand 115 states. Second operand has 109 states, 107 states have (on average 1.1401869158878504) internal successors, (122), 108 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (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,240 INFO L74 IsIncluded]: Start isIncluded. First operand 115 states. Second operand has 109 states, 107 states have (on average 1.1401869158878504) internal successors, (122), 108 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (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,240 INFO L87 Difference]: Start difference. First operand 115 states. Second operand has 109 states, 107 states have (on average 1.1401869158878504) internal successors, (122), 108 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (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,241 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:10,241 INFO L93 Difference]: Finished difference Result 115 states and 128 transitions. [2022-02-20 23:42:10,242 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 128 transitions. [2022-02-20 23:42:10,242 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:10,242 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:10,242 INFO L74 IsIncluded]: Start isIncluded. First operand has 109 states, 107 states have (on average 1.1401869158878504) internal successors, (122), 108 states have internal predecessors, (122), 0 states have call successors, (0), 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 115 states. [2022-02-20 23:42:10,242 INFO L87 Difference]: Start difference. First operand has 109 states, 107 states have (on average 1.1401869158878504) internal successors, (122), 108 states have internal predecessors, (122), 0 states have call successors, (0), 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 115 states. [2022-02-20 23:42:10,243 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:10,243 INFO L93 Difference]: Finished difference Result 115 states and 128 transitions. [2022-02-20 23:42:10,243 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 128 transitions. [2022-02-20 23:42:10,243 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:10,243 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:10,244 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:10,244 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:10,244 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 109 states, 107 states have (on average 1.1401869158878504) internal successors, (122), 108 states have internal predecessors, (122), 0 states have call successors, (0), 0 states have call predecessors, (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,245 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 109 states to 109 states and 122 transitions. [2022-02-20 23:42:10,245 INFO L78 Accepts]: Start accepts. Automaton has 109 states and 122 transitions. Word has length 30 [2022-02-20 23:42:10,245 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:10,245 INFO L470 AbstractCegarLoop]: Abstraction has 109 states and 122 transitions. [2022-02-20 23:42:10,245 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 37 states, 37 states have (on average 1.972972972972973) internal successors, (73), 37 states have internal predecessors, (73), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:10,245 INFO L276 IsEmpty]: Start isEmpty. Operand 109 states and 122 transitions. [2022-02-20 23:42:10,245 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 23:42:10,245 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:10,245 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:10,270 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:10,445 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable22,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:10,446 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:10,446 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:10,446 INFO L85 PathProgramCache]: Analyzing trace with hash -988436448, now seen corresponding path program 2 times [2022-02-20 23:42:10,446 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:10,446 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1989386355] [2022-02-20 23:42:10,446 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:10,447 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:10,480 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:10,705 INFO L290 TraceCheckUtils]: 0: Hoare triple {7059#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7059#true} is VALID [2022-02-20 23:42:10,705 INFO L290 TraceCheckUtils]: 1: Hoare triple {7059#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7059#true} is VALID [2022-02-20 23:42:10,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {7059#true} assume !(main_~length1~0#1 < 1); {7059#true} is VALID [2022-02-20 23:42:10,705 INFO L290 TraceCheckUtils]: 3: Hoare triple {7059#true} assume !(main_~length2~0#1 < 1); {7059#true} is VALID [2022-02-20 23:42:10,706 INFO L290 TraceCheckUtils]: 4: Hoare triple {7059#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {7061#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (= |ULTIMATE.start_main_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,707 INFO L290 TraceCheckUtils]: 5: Hoare triple {7061#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (= |ULTIMATE.start_main_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {7062#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,707 INFO L290 TraceCheckUtils]: 6: Hoare triple {7062#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {7062#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,708 INFO L290 TraceCheckUtils]: 7: Hoare triple {7062#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet11#1; {7062#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {7062#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (or (and (= |ULTIMATE.start_main_~i~0#1| 0) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {7063#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2) (<= |ULTIMATE.start_main_~i~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:10,709 INFO L290 TraceCheckUtils]: 9: Hoare triple {7063#(and (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2) (<= |ULTIMATE.start_main_~i~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,710 INFO L290 TraceCheckUtils]: 10: Hoare triple {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,710 INFO L290 TraceCheckUtils]: 11: Hoare triple {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,710 INFO L290 TraceCheckUtils]: 12: Hoare triple {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,711 INFO L290 TraceCheckUtils]: 13: Hoare triple {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet13#1; {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,711 INFO L290 TraceCheckUtils]: 14: Hoare triple {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,712 INFO L290 TraceCheckUtils]: 15: Hoare triple {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,712 INFO L290 TraceCheckUtils]: 16: Hoare triple {7064#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| (- 2)) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {7065#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,713 INFO L290 TraceCheckUtils]: 17: Hoare triple {7065#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {7065#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:10,713 INFO L290 TraceCheckUtils]: 18: Hoare triple {7065#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 1) 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {7066#(and (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0))} is VALID [2022-02-20 23:42:10,714 INFO L290 TraceCheckUtils]: 19: Hoare triple {7066#(and (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7067#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 1) 0) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} is VALID [2022-02-20 23:42:10,714 INFO L290 TraceCheckUtils]: 20: Hoare triple {7067#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1)) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 1) 0) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:10,714 INFO L290 TraceCheckUtils]: 21: Hoare triple {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:10,715 INFO L290 TraceCheckUtils]: 22: Hoare triple {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:10,715 INFO L290 TraceCheckUtils]: 23: Hoare triple {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:10,716 INFO L290 TraceCheckUtils]: 24: Hoare triple {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:10,716 INFO L290 TraceCheckUtils]: 25: Hoare triple {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:10,717 INFO L290 TraceCheckUtils]: 26: Hoare triple {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:10,718 INFO L290 TraceCheckUtils]: 27: Hoare triple {7068#(and (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 1) 0) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7069#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1))} is VALID [2022-02-20 23:42:10,718 INFO L290 TraceCheckUtils]: 28: Hoare triple {7069#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {7070#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:10,718 INFO L290 TraceCheckUtils]: 29: Hoare triple {7070#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:10,719 INFO L290 TraceCheckUtils]: 30: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:10,719 INFO L290 TraceCheckUtils]: 31: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:10,720 INFO L290 TraceCheckUtils]: 32: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:10,720 INFO L290 TraceCheckUtils]: 33: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {7072#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:10,720 INFO L290 TraceCheckUtils]: 34: Hoare triple {7072#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {7060#false} is VALID [2022-02-20 23:42:10,720 INFO L290 TraceCheckUtils]: 35: Hoare triple {7060#false} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7060#false} is VALID [2022-02-20 23:42:10,720 INFO L290 TraceCheckUtils]: 36: Hoare triple {7060#false} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {7060#false} is VALID [2022-02-20 23:42:10,721 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:10,721 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:10,721 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1989386355] [2022-02-20 23:42:10,721 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1989386355] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:10,721 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1979456197] [2022-02-20 23:42:10,721 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:42:10,721 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:10,721 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:10,722 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:10,723 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:10,789 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:42:10,790 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:10,791 INFO L263 TraceCheckSpWp]: Trace formula consists of 205 conjuncts, 53 conjunts are in the unsatisfiable core [2022-02-20 23:42:10,799 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:10,800 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:10,813 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:11,010 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 10 [2022-02-20 23:42:11,140 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 17 treesize of output 19 [2022-02-20 23:42:11,924 INFO L356 Elim1Store]: treesize reduction 8, result has 27.3 percent of original size [2022-02-20 23:42:11,924 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:11,967 INFO L290 TraceCheckUtils]: 0: Hoare triple {7059#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7059#true} is VALID [2022-02-20 23:42:11,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {7059#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7059#true} is VALID [2022-02-20 23:42:11,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {7059#true} assume !(main_~length1~0#1 < 1); {7059#true} is VALID [2022-02-20 23:42:11,967 INFO L290 TraceCheckUtils]: 3: Hoare triple {7059#true} assume !(main_~length2~0#1 < 1); {7059#true} is VALID [2022-02-20 23:42:11,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {7059#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {7088#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {7088#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {7092#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,969 INFO L290 TraceCheckUtils]: 6: Hoare triple {7092#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {7092#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {7092#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet11#1; {7092#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {7092#(and (= |ULTIMATE.start_main_~i~0#1| 0) (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {7102#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:11,970 INFO L290 TraceCheckUtils]: 9: Hoare triple {7102#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,971 INFO L290 TraceCheckUtils]: 10: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_~i~1#1 := 0; {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,972 INFO L290 TraceCheckUtils]: 12: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,972 INFO L290 TraceCheckUtils]: 13: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet13#1; {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,974 INFO L290 TraceCheckUtils]: 16: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {7128#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0))) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:11,975 INFO L290 TraceCheckUtils]: 17: Hoare triple {7128#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0))) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {7132#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} is VALID [2022-02-20 23:42:11,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {7132#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) 0)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {7136#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset|)) 0)))} is VALID [2022-02-20 23:42:11,977 INFO L290 TraceCheckUtils]: 19: Hoare triple {7136#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset|)) 0)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} is VALID [2022-02-20 23:42:11,977 INFO L290 TraceCheckUtils]: 20: Hoare triple {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} is VALID [2022-02-20 23:42:11,978 INFO L290 TraceCheckUtils]: 21: Hoare triple {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} is VALID [2022-02-20 23:42:11,979 INFO L290 TraceCheckUtils]: 22: Hoare triple {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} is VALID [2022-02-20 23:42:11,979 INFO L290 TraceCheckUtils]: 23: Hoare triple {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} is VALID [2022-02-20 23:42:11,980 INFO L290 TraceCheckUtils]: 24: Hoare triple {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} is VALID [2022-02-20 23:42:11,981 INFO L290 TraceCheckUtils]: 25: Hoare triple {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} is VALID [2022-02-20 23:42:11,981 INFO L290 TraceCheckUtils]: 26: Hoare triple {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} is VALID [2022-02-20 23:42:11,982 INFO L290 TraceCheckUtils]: 27: Hoare triple {7140#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| |ULTIMATE.start_cstrspn_~p~0#1.offset| (- 2))) 0)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7165#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| (- 2) |ULTIMATE.start_cstrspn_#t~post2#1.offset|)))))} is VALID [2022-02-20 23:42:11,982 INFO L290 TraceCheckUtils]: 28: Hoare triple {7165#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) (+ |ULTIMATE.start_main_~length1~0#1| (- 2) |ULTIMATE.start_cstrspn_#t~post2#1.offset|)))))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {7070#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:11,983 INFO L290 TraceCheckUtils]: 29: Hoare triple {7070#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:11,983 INFO L290 TraceCheckUtils]: 30: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:11,983 INFO L290 TraceCheckUtils]: 31: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:11,984 INFO L290 TraceCheckUtils]: 32: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:11,984 INFO L290 TraceCheckUtils]: 33: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {7184#(and (not (= |ULTIMATE.start_cstrspn_~sc~0#1| 0)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0))} is VALID [2022-02-20 23:42:11,984 INFO L290 TraceCheckUtils]: 34: Hoare triple {7184#(and (not (= |ULTIMATE.start_cstrspn_~sc~0#1| 0)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {7060#false} is VALID [2022-02-20 23:42:11,984 INFO L290 TraceCheckUtils]: 35: Hoare triple {7060#false} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7060#false} is VALID [2022-02-20 23:42:11,985 INFO L290 TraceCheckUtils]: 36: Hoare triple {7060#false} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {7060#false} is VALID [2022-02-20 23:42:11,985 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:11,985 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:12,126 WARN L838 $PredicateComparison]: unable to prove that (forall ((v_ArrVal_286 (Array Int Int))) (= (select (select (store |c_#memory_int| |c_ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_286) |c_ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |c_ULTIMATE.start_main_~nondetString1~0#1.offset| 1)) 0)) is different from false [2022-02-20 23:42:12,139 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:12,139 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 23 treesize of output 24 [2022-02-20 23:42:12,149 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:12,149 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 37 treesize of output 37 [2022-02-20 23:42:12,152 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2022-02-20 23:42:12,436 INFO L290 TraceCheckUtils]: 36: Hoare triple {7060#false} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {7060#false} is VALID [2022-02-20 23:42:12,436 INFO L290 TraceCheckUtils]: 35: Hoare triple {7060#false} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7060#false} is VALID [2022-02-20 23:42:12,436 INFO L290 TraceCheckUtils]: 34: Hoare triple {7072#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {7060#false} is VALID [2022-02-20 23:42:12,437 INFO L290 TraceCheckUtils]: 33: Hoare triple {7203#(or (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {7072#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:12,437 INFO L290 TraceCheckUtils]: 32: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {7203#(or (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|)))} is VALID [2022-02-20 23:42:12,437 INFO L290 TraceCheckUtils]: 31: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:12,437 INFO L290 TraceCheckUtils]: 30: Hoare triple {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:12,438 INFO L290 TraceCheckUtils]: 29: Hoare triple {7070#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {7071#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:12,438 INFO L290 TraceCheckUtils]: 28: Hoare triple {7219#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {7070#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:12,438 INFO L290 TraceCheckUtils]: 27: Hoare triple {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7219#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0)} is VALID [2022-02-20 23:42:12,439 INFO L290 TraceCheckUtils]: 26: Hoare triple {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:12,439 INFO L290 TraceCheckUtils]: 25: Hoare triple {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:12,439 INFO L290 TraceCheckUtils]: 24: Hoare triple {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:12,440 INFO L290 TraceCheckUtils]: 23: Hoare triple {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:12,442 INFO L290 TraceCheckUtils]: 22: Hoare triple {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:12,442 INFO L290 TraceCheckUtils]: 21: Hoare triple {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:12,443 INFO L290 TraceCheckUtils]: 20: Hoare triple {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:12,443 INFO L290 TraceCheckUtils]: 19: Hoare triple {7248#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {7223#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:12,444 INFO L290 TraceCheckUtils]: 18: Hoare triple {7252#(= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)) 0)} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {7248#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:12,444 INFO L290 TraceCheckUtils]: 17: Hoare triple {7256#(forall ((v_ArrVal_286 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_286) |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)) 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {7252#(= (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:12,445 INFO L290 TraceCheckUtils]: 16: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {7256#(forall ((v_ArrVal_286 (Array Int Int))) (= (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_286) |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:12,445 INFO L290 TraceCheckUtils]: 15: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:12,446 INFO L290 TraceCheckUtils]: 14: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:12,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} havoc main_#t~nondet13#1; {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:12,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:12,447 INFO L290 TraceCheckUtils]: 11: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:12,447 INFO L290 TraceCheckUtils]: 10: Hoare triple {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} main_~i~1#1 := 0; {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:12,448 INFO L290 TraceCheckUtils]: 9: Hoare triple {7281#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {7106#(and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:12,448 INFO L290 TraceCheckUtils]: 8: Hoare triple {7285#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {7281#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:12,449 INFO L290 TraceCheckUtils]: 7: Hoare triple {7285#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} havoc main_#t~nondet11#1; {7285#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:12,449 INFO L290 TraceCheckUtils]: 6: Hoare triple {7285#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {7285#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:12,450 INFO L290 TraceCheckUtils]: 5: Hoare triple {7088#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {7285#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (< 1 |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:12,450 INFO L290 TraceCheckUtils]: 4: Hoare triple {7059#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {7088#(and (= |ULTIMATE.start_main_~i~0#1| 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)))} is VALID [2022-02-20 23:42:12,450 INFO L290 TraceCheckUtils]: 3: Hoare triple {7059#true} assume !(main_~length2~0#1 < 1); {7059#true} is VALID [2022-02-20 23:42:12,450 INFO L290 TraceCheckUtils]: 2: Hoare triple {7059#true} assume !(main_~length1~0#1 < 1); {7059#true} is VALID [2022-02-20 23:42:12,450 INFO L290 TraceCheckUtils]: 1: Hoare triple {7059#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {7059#true} is VALID [2022-02-20 23:42:12,451 INFO L290 TraceCheckUtils]: 0: Hoare triple {7059#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7059#true} is VALID [2022-02-20 23:42:12,451 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 4 proven. 9 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:12,451 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1979456197] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:12,451 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:12,451 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [14, 14, 15] total 32 [2022-02-20 23:42:12,451 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1319733460] [2022-02-20 23:42:12,451 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:12,452 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 2.625) internal successors, (84), 32 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 37 [2022-02-20 23:42:12,452 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:12,452 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 32 states, 32 states have (on average 2.625) internal successors, (84), 32 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:12,522 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:12,522 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-02-20 23:42:12,522 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:12,523 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-02-20 23:42:12,523 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=107, Invalid=826, Unknown=1, NotChecked=58, Total=992 [2022-02-20 23:42:12,523 INFO L87 Difference]: Start difference. First operand 109 states and 122 transitions. Second operand has 32 states, 32 states have (on average 2.625) internal successors, (84), 32 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:13,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:13,620 INFO L93 Difference]: Finished difference Result 178 states and 196 transitions. [2022-02-20 23:42:13,621 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 23:42:13,621 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 32 states have (on average 2.625) internal successors, (84), 32 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 37 [2022-02-20 23:42:13,621 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:13,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 2.625) internal successors, (84), 32 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:13,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 100 transitions. [2022-02-20 23:42:13,622 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 32 states have (on average 2.625) internal successors, (84), 32 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:13,623 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 100 transitions. [2022-02-20 23:42:13,623 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 100 transitions. [2022-02-20 23:42:13,701 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:13,703 INFO L225 Difference]: With dead ends: 178 [2022-02-20 23:42:13,703 INFO L226 Difference]: Without dead ends: 178 [2022-02-20 23:42:13,704 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 102 GetRequests, 55 SyntacticMatches, 3 SemanticMatches, 44 ConstructedPredicates, 1 IntricatePredicates, 4 DeprecatedPredicates, 395 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=330, Invalid=1653, Unknown=1, NotChecked=86, Total=2070 [2022-02-20 23:42:13,704 INFO L933 BasicCegarLoop]: 45 mSDtfsCounter, 204 mSDsluCounter, 405 mSDsCounter, 0 mSdLazyCounter, 333 mSolverCounterSat, 30 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 204 SdHoareTripleChecker+Valid, 450 SdHoareTripleChecker+Invalid, 426 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 30 IncrementalHoareTripleChecker+Valid, 333 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 63 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:13,704 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [204 Valid, 450 Invalid, 426 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [30 Valid, 333 Invalid, 0 Unknown, 63 Unchecked, 0.2s Time] [2022-02-20 23:42:13,705 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 178 states. [2022-02-20 23:42:13,707 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 178 to 160. [2022-02-20 23:42:13,707 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:13,707 INFO L82 GeneralOperation]: Start isEquivalent. First operand 178 states. Second operand has 160 states, 158 states have (on average 1.139240506329114) internal successors, (180), 159 states have internal predecessors, (180), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:13,707 INFO L74 IsIncluded]: Start isIncluded. First operand 178 states. Second operand has 160 states, 158 states have (on average 1.139240506329114) internal successors, (180), 159 states have internal predecessors, (180), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:13,708 INFO L87 Difference]: Start difference. First operand 178 states. Second operand has 160 states, 158 states have (on average 1.139240506329114) internal successors, (180), 159 states have internal predecessors, (180), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:13,709 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:13,709 INFO L93 Difference]: Finished difference Result 178 states and 196 transitions. [2022-02-20 23:42:13,710 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 196 transitions. [2022-02-20 23:42:13,710 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:13,710 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:13,710 INFO L74 IsIncluded]: Start isIncluded. First operand has 160 states, 158 states have (on average 1.139240506329114) internal successors, (180), 159 states have internal predecessors, (180), 0 states have call successors, (0), 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 178 states. [2022-02-20 23:42:13,710 INFO L87 Difference]: Start difference. First operand has 160 states, 158 states have (on average 1.139240506329114) internal successors, (180), 159 states have internal predecessors, (180), 0 states have call successors, (0), 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 178 states. [2022-02-20 23:42:13,712 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:13,712 INFO L93 Difference]: Finished difference Result 178 states and 196 transitions. [2022-02-20 23:42:13,712 INFO L276 IsEmpty]: Start isEmpty. Operand 178 states and 196 transitions. [2022-02-20 23:42:13,713 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:13,713 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:13,713 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:13,713 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:13,713 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 160 states, 158 states have (on average 1.139240506329114) internal successors, (180), 159 states have internal predecessors, (180), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:13,714 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 160 states to 160 states and 180 transitions. [2022-02-20 23:42:13,715 INFO L78 Accepts]: Start accepts. Automaton has 160 states and 180 transitions. Word has length 37 [2022-02-20 23:42:13,715 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:13,715 INFO L470 AbstractCegarLoop]: Abstraction has 160 states and 180 transitions. [2022-02-20 23:42:13,715 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 32 states have (on average 2.625) internal successors, (84), 32 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:13,715 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 180 transitions. [2022-02-20 23:42:13,715 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 23:42:13,716 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:13,716 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:13,733 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-02-20 23:42:13,931 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:13,931 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:13,932 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:13,932 INFO L85 PathProgramCache]: Analyzing trace with hash 1971973557, now seen corresponding path program 3 times [2022-02-20 23:42:13,932 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:13,932 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1223113081] [2022-02-20 23:42:13,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:13,932 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:13,951 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:14,108 INFO L290 TraceCheckUtils]: 0: Hoare triple {8032#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8032#true} is VALID [2022-02-20 23:42:14,108 INFO L290 TraceCheckUtils]: 1: Hoare triple {8032#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {8032#true} is VALID [2022-02-20 23:42:14,108 INFO L290 TraceCheckUtils]: 2: Hoare triple {8032#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {8032#true} is VALID [2022-02-20 23:42:14,108 INFO L290 TraceCheckUtils]: 3: Hoare triple {8032#true} assume !(main_~length2~0#1 < 1); {8032#true} is VALID [2022-02-20 23:42:14,109 INFO L290 TraceCheckUtils]: 4: Hoare triple {8032#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {8034#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:14,109 INFO L290 TraceCheckUtils]: 5: Hoare triple {8034#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {8034#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:14,109 INFO L290 TraceCheckUtils]: 6: Hoare triple {8034#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_~i~1#1 := 0; {8035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:14,110 INFO L290 TraceCheckUtils]: 7: Hoare triple {8035#(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 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {8035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:14,110 INFO L290 TraceCheckUtils]: 8: Hoare triple {8035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {8035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:14,110 INFO L290 TraceCheckUtils]: 9: Hoare triple {8035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} havoc main_#t~nondet13#1; {8035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:14,111 INFO L290 TraceCheckUtils]: 10: Hoare triple {8035#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {8036#(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:14,111 INFO L290 TraceCheckUtils]: 11: Hoare triple {8036#(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 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {8037#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,112 INFO L290 TraceCheckUtils]: 12: Hoare triple {8037#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {8037#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,112 INFO L290 TraceCheckUtils]: 13: Hoare triple {8037#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet13#1; {8037#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {8037#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {8038#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,113 INFO L290 TraceCheckUtils]: 15: Hoare triple {8038#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~1#1| 2) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8039#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,113 INFO L290 TraceCheckUtils]: 16: Hoare triple {8039#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {8039#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:14,114 INFO L290 TraceCheckUtils]: 17: Hoare triple {8039#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (<= 3 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {8040#(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:14,114 INFO L290 TraceCheckUtils]: 18: Hoare triple {8040#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {8041#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:14,115 INFO L290 TraceCheckUtils]: 19: Hoare triple {8041#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {8041#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:14,115 INFO L290 TraceCheckUtils]: 20: Hoare triple {8041#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {8041#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:14,115 INFO L290 TraceCheckUtils]: 21: Hoare triple {8041#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {8042#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 2)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:42:14,116 INFO L290 TraceCheckUtils]: 22: Hoare triple {8042#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 2)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8043#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1 (* (- 1) |ULTIMATE.start_cstrspn_#t~post4#1.offset|))) 0) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} is VALID [2022-02-20 23:42:14,116 INFO L290 TraceCheckUtils]: 23: Hoare triple {8043#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1 (* (- 1) |ULTIMATE.start_cstrspn_#t~post4#1.offset|))) 0) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:14,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:14,117 INFO L290 TraceCheckUtils]: 25: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:14,117 INFO L290 TraceCheckUtils]: 26: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:14,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:14,118 INFO L290 TraceCheckUtils]: 28: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:14,118 INFO L290 TraceCheckUtils]: 29: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:14,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:14,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:14,119 INFO L290 TraceCheckUtils]: 32: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8046#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:42:14,119 INFO L290 TraceCheckUtils]: 33: Hoare triple {8046#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8047#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:42:14,119 INFO L290 TraceCheckUtils]: 34: Hoare triple {8047#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8048#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:42:14,120 INFO L290 TraceCheckUtils]: 35: Hoare triple {8048#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8033#false} is VALID [2022-02-20 23:42:14,120 INFO L290 TraceCheckUtils]: 36: Hoare triple {8033#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8033#false} is VALID [2022-02-20 23:42:14,120 INFO L290 TraceCheckUtils]: 37: Hoare triple {8033#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8033#false} is VALID [2022-02-20 23:42:14,120 INFO L290 TraceCheckUtils]: 38: Hoare triple {8033#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {8033#false} is VALID [2022-02-20 23:42:14,120 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 8 proven. 19 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:14,120 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:14,120 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1223113081] [2022-02-20 23:42:14,120 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1223113081] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:14,120 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [568142186] [2022-02-20 23:42:14,120 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:42:14,120 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:14,121 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:14,122 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:14,124 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:14,194 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 23:42:14,194 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:14,196 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 88 conjunts are in the unsatisfiable core [2022-02-20 23:42:14,211 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:14,212 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:14,256 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:14,516 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:14,582 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 22 treesize of output 21 [2022-02-20 23:42:16,331 INFO L356 Elim1Store]: treesize reduction 8, result has 27.3 percent of original size [2022-02-20 23:42:16,331 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 1 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 1 case distinctions, treesize of input 25 treesize of output 13 [2022-02-20 23:42:16,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {8032#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8032#true} is VALID [2022-02-20 23:42:16,371 INFO L290 TraceCheckUtils]: 1: Hoare triple {8032#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {8032#true} is VALID [2022-02-20 23:42:16,371 INFO L290 TraceCheckUtils]: 2: Hoare triple {8032#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {8058#(= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:42:16,371 INFO L290 TraceCheckUtils]: 3: Hoare triple {8058#(= |ULTIMATE.start_main_~length1~0#1| 1)} assume !(main_~length2~0#1 < 1); {8058#(= |ULTIMATE.start_main_~length1~0#1| 1)} is VALID [2022-02-20 23:42:16,372 INFO L290 TraceCheckUtils]: 4: Hoare triple {8058#(= |ULTIMATE.start_main_~length1~0#1| 1)} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {8065#(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:16,372 INFO L290 TraceCheckUtils]: 5: Hoare triple {8065#(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 - 1); {8065#(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:16,373 INFO L290 TraceCheckUtils]: 6: Hoare triple {8065#(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; {8072#(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_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,373 INFO L290 TraceCheckUtils]: 7: Hoare triple {8072#(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_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {8072#(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_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {8072#(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_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {8072#(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_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {8072#(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_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet13#1; {8072#(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_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,374 INFO L290 TraceCheckUtils]: 10: Hoare triple {8072#(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_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {8085#(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_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:16,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {8085#(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_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {8089#(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_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:16,375 INFO L290 TraceCheckUtils]: 12: Hoare triple {8089#(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_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {8089#(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_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:16,376 INFO L290 TraceCheckUtils]: 13: Hoare triple {8089#(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_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet13#1; {8089#(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_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:16,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {8089#(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_~i~1#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {8099#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~1#1| 2) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:16,376 INFO L290 TraceCheckUtils]: 15: Hoare triple {8099#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~1#1| 2) (= |ULTIMATE.start_main_~length1~0#1| 1) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8103#(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_~length2~0#1| 3) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:16,377 INFO L290 TraceCheckUtils]: 16: Hoare triple {8103#(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_~length2~0#1| 3) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {8107#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 3) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (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:16,378 INFO L290 TraceCheckUtils]: 17: Hoare triple {8107#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 3) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (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: L545 {8111#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (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:16,379 INFO L290 TraceCheckUtils]: 18: Hoare triple {8111#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~nondetString1~0#1.offset|) 0))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {8115#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 0) 0) (not (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:16,380 INFO L290 TraceCheckUtils]: 19: Hoare triple {8115#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 0) 0) (not (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {8119#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0) (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:16,390 INFO L290 TraceCheckUtils]: 20: Hoare triple {8119#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0) (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {8123#(and (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0) (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) |ULTIMATE.start_cstrspn_#t~mem3#1|))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:16,399 INFO L290 TraceCheckUtils]: 21: Hoare triple {8123#(and (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0) (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) |ULTIMATE.start_cstrspn_#t~mem3#1|))) (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|))))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {8127#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,401 INFO L290 TraceCheckUtils]: 22: Hoare triple {8127#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,402 INFO L290 TraceCheckUtils]: 23: Hoare triple {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,403 INFO L290 TraceCheckUtils]: 24: Hoare triple {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,403 INFO L290 TraceCheckUtils]: 25: Hoare triple {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,404 INFO L290 TraceCheckUtils]: 26: Hoare triple {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,405 INFO L290 TraceCheckUtils]: 27: Hoare triple {8131#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 2) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,406 INFO L290 TraceCheckUtils]: 28: Hoare triple {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,407 INFO L290 TraceCheckUtils]: 29: Hoare triple {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,408 INFO L290 TraceCheckUtils]: 30: Hoare triple {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,408 INFO L290 TraceCheckUtils]: 31: Hoare triple {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,409 INFO L290 TraceCheckUtils]: 32: Hoare triple {8147#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| (- 3) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (< 2 |ULTIMATE.start_main_~length2~0#1|))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8163#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_#t~post4#1.offset| (- 3))) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} is VALID [2022-02-20 23:42:16,410 INFO L290 TraceCheckUtils]: 33: Hoare triple {8163#(and (exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (<= |ULTIMATE.start_main_~length2~0#1| 3) (< 2 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_#t~post4#1.offset| (- 3))) 0))) (exists ((|ULTIMATE.start_cstrspn_#t~post2#1.base| Int)) (and (not (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) 0) 0))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8047#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:42:16,410 INFO L290 TraceCheckUtils]: 34: Hoare triple {8047#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8048#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:42:16,410 INFO L290 TraceCheckUtils]: 35: Hoare triple {8048#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8033#false} is VALID [2022-02-20 23:42:16,411 INFO L290 TraceCheckUtils]: 36: Hoare triple {8033#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8033#false} is VALID [2022-02-20 23:42:16,411 INFO L290 TraceCheckUtils]: 37: Hoare triple {8033#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8033#false} is VALID [2022-02-20 23:42:16,411 INFO L290 TraceCheckUtils]: 38: Hoare triple {8033#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {8033#false} is VALID [2022-02-20 23:42:16,411 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 8 proven. 19 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:16,411 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:16,882 WARN L838 $PredicateComparison]: unable to prove that (forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (select (store (select |c_#memory_int| |c_ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |c_ULTIMATE.start_main_~length2~0#1|) 0) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2)) 0)) is different from false [2022-02-20 23:42:16,901 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:16,901 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 26 treesize of output 27 [2022-02-20 23:42:16,913 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:16,913 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 27 treesize of output 31 [2022-02-20 23:42:16,936 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:16,953 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:16,953 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 44 treesize of output 48 [2022-02-20 23:42:17,219 INFO L290 TraceCheckUtils]: 38: Hoare triple {8033#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {8033#false} is VALID [2022-02-20 23:42:17,219 INFO L290 TraceCheckUtils]: 37: Hoare triple {8033#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8033#false} is VALID [2022-02-20 23:42:17,219 INFO L290 TraceCheckUtils]: 36: Hoare triple {8033#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8033#false} is VALID [2022-02-20 23:42:17,219 INFO L290 TraceCheckUtils]: 35: Hoare triple {8048#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8033#false} is VALID [2022-02-20 23:42:17,219 INFO L290 TraceCheckUtils]: 34: Hoare triple {8047#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8048#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:42:17,220 INFO L290 TraceCheckUtils]: 33: Hoare triple {8046#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8047#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:42:17,220 INFO L290 TraceCheckUtils]: 32: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8046#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:42:17,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:17,221 INFO L290 TraceCheckUtils]: 30: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:17,221 INFO L290 TraceCheckUtils]: 29: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:17,221 INFO L290 TraceCheckUtils]: 28: Hoare triple {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:17,222 INFO L290 TraceCheckUtils]: 27: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8045#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:17,222 INFO L290 TraceCheckUtils]: 26: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:17,222 INFO L290 TraceCheckUtils]: 25: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:17,222 INFO L290 TraceCheckUtils]: 24: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:17,223 INFO L290 TraceCheckUtils]: 23: Hoare triple {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:17,223 INFO L290 TraceCheckUtils]: 22: Hoare triple {8230#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {8044#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:17,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {8234#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {8230#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0)} is VALID [2022-02-20 23:42:17,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {8234#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {8234#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:17,224 INFO L290 TraceCheckUtils]: 19: Hoare triple {8234#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {8234#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:17,225 INFO L290 TraceCheckUtils]: 18: Hoare triple {8244#(= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2)) 0)} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {8234#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:17,225 INFO L290 TraceCheckUtils]: 17: Hoare triple {8248#(forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (select (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_~nondetString2~0#1.offset| 2)) 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {8244#(= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2)) 0)} is VALID [2022-02-20 23:42:17,226 INFO L290 TraceCheckUtils]: 16: Hoare triple {8252#(= |ULTIMATE.start_main_~length2~0#1| 3)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {8248#(forall ((|ULTIMATE.start_main_~nondetString2~0#1.offset| Int)) (= (select (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_~nondetString2~0#1.offset| 2)) 0))} is VALID [2022-02-20 23:42:17,226 INFO L290 TraceCheckUtils]: 15: Hoare triple {8256#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {8252#(= |ULTIMATE.start_main_~length2~0#1| 3)} is VALID [2022-02-20 23:42:17,227 INFO L290 TraceCheckUtils]: 14: Hoare triple {8260#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {8256#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:17,227 INFO L290 TraceCheckUtils]: 13: Hoare triple {8260#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet13#1; {8260#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:17,227 INFO L290 TraceCheckUtils]: 12: Hoare triple {8260#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {8260#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:17,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {8270#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {8260#(or (= |ULTIMATE.start_main_~length2~0#1| 3) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:17,228 INFO L290 TraceCheckUtils]: 10: Hoare triple {8274#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {8270#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:42:17,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {8274#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} havoc main_#t~nondet13#1; {8274#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:17,229 INFO L290 TraceCheckUtils]: 8: Hoare triple {8274#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {8274#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:17,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {8274#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {8274#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:17,229 INFO L290 TraceCheckUtils]: 6: Hoare triple {8032#true} main_~i~1#1 := 0; {8274#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:42:17,229 INFO L290 TraceCheckUtils]: 5: Hoare triple {8032#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {8032#true} is VALID [2022-02-20 23:42:17,229 INFO L290 TraceCheckUtils]: 4: Hoare triple {8032#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {8032#true} is VALID [2022-02-20 23:42:17,230 INFO L290 TraceCheckUtils]: 3: Hoare triple {8032#true} assume !(main_~length2~0#1 < 1); {8032#true} is VALID [2022-02-20 23:42:17,230 INFO L290 TraceCheckUtils]: 2: Hoare triple {8032#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {8032#true} is VALID [2022-02-20 23:42:17,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {8032#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {8032#true} is VALID [2022-02-20 23:42:17,230 INFO L290 TraceCheckUtils]: 0: Hoare triple {8032#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8032#true} is VALID [2022-02-20 23:42:17,230 INFO L134 CoverageAnalysis]: Checked inductivity of 27 backedges. 8 proven. 19 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:17,230 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [568142186] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:17,230 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:17,230 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 20, 16] total 42 [2022-02-20 23:42:17,230 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [772232836] [2022-02-20 23:42:17,231 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:17,231 INFO L78 Accepts]: Start accepts. Automaton has has 42 states, 42 states have (on average 2.1666666666666665) internal successors, (91), 42 states have internal predecessors, (91), 0 states have call successors, (0), 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 39 [2022-02-20 23:42:17,231 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:17,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 42 states, 42 states have (on average 2.1666666666666665) internal successors, (91), 42 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (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,315 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:42:17,315 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 42 states [2022-02-20 23:42:17,315 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:17,316 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 42 interpolants. [2022-02-20 23:42:17,316 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=1507, Unknown=1, NotChecked=78, Total=1722 [2022-02-20 23:42:17,316 INFO L87 Difference]: Start difference. First operand 160 states and 180 transitions. Second operand has 42 states, 42 states have (on average 2.1666666666666665) internal successors, (91), 42 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:18,914 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:18,914 INFO L93 Difference]: Finished difference Result 364 states and 395 transitions. [2022-02-20 23:42:18,914 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 40 states. [2022-02-20 23:42:18,914 INFO L78 Accepts]: Start accepts. Automaton has has 42 states, 42 states have (on average 2.1666666666666665) internal successors, (91), 42 states have internal predecessors, (91), 0 states have call successors, (0), 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 39 [2022-02-20 23:42:18,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:18,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 42 states have (on average 2.1666666666666665) internal successors, (91), 42 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:18,916 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 143 transitions. [2022-02-20 23:42:18,916 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 42 states, 42 states have (on average 2.1666666666666665) internal successors, (91), 42 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:18,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 40 states to 40 states and 143 transitions. [2022-02-20 23:42:18,917 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 40 states and 143 transitions. [2022-02-20 23:42:19,015 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 143 edges. 143 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:19,018 INFO L225 Difference]: With dead ends: 364 [2022-02-20 23:42:19,018 INFO L226 Difference]: Without dead ends: 316 [2022-02-20 23:42:19,020 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 118 GetRequests, 54 SyntacticMatches, 1 SemanticMatches, 63 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 903 ImplicationChecksByTransitivity, 1.5s TimeCoverageRelationStatistics Valid=359, Invalid=3676, Unknown=1, NotChecked=124, Total=4160 [2022-02-20 23:42:19,020 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 180 mSDsluCounter, 706 mSDsCounter, 0 mSdLazyCounter, 484 mSolverCounterSat, 34 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 180 SdHoareTripleChecker+Valid, 743 SdHoareTripleChecker+Invalid, 786 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 34 IncrementalHoareTripleChecker+Valid, 484 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 268 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:19,020 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [180 Valid, 743 Invalid, 786 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [34 Valid, 484 Invalid, 0 Unknown, 268 Unchecked, 0.3s Time] [2022-02-20 23:42:19,021 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 316 states. [2022-02-20 23:42:19,023 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 316 to 194. [2022-02-20 23:42:19,023 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:19,023 INFO L82 GeneralOperation]: Start isEquivalent. First operand 316 states. Second operand has 194 states, 192 states have (on average 1.1354166666666667) internal successors, (218), 193 states have internal predecessors, (218), 0 states have call successors, (0), 0 states have call predecessors, (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,024 INFO L74 IsIncluded]: Start isIncluded. First operand 316 states. Second operand has 194 states, 192 states have (on average 1.1354166666666667) internal successors, (218), 193 states have internal predecessors, (218), 0 states have call successors, (0), 0 states have call predecessors, (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,024 INFO L87 Difference]: Start difference. First operand 316 states. Second operand has 194 states, 192 states have (on average 1.1354166666666667) internal successors, (218), 193 states have internal predecessors, (218), 0 states have call successors, (0), 0 states have call predecessors, (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,038 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:19,038 INFO L93 Difference]: Finished difference Result 316 states and 347 transitions. [2022-02-20 23:42:19,038 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 347 transitions. [2022-02-20 23:42:19,038 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:19,038 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:19,039 INFO L74 IsIncluded]: Start isIncluded. First operand has 194 states, 192 states have (on average 1.1354166666666667) internal successors, (218), 193 states have internal predecessors, (218), 0 states have call successors, (0), 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 316 states. [2022-02-20 23:42:19,039 INFO L87 Difference]: Start difference. First operand has 194 states, 192 states have (on average 1.1354166666666667) internal successors, (218), 193 states have internal predecessors, (218), 0 states have call successors, (0), 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 316 states. [2022-02-20 23:42:19,043 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:19,043 INFO L93 Difference]: Finished difference Result 316 states and 347 transitions. [2022-02-20 23:42:19,043 INFO L276 IsEmpty]: Start isEmpty. Operand 316 states and 347 transitions. [2022-02-20 23:42:19,044 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:19,044 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:19,044 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:19,044 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:19,044 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 194 states, 192 states have (on average 1.1354166666666667) internal successors, (218), 193 states have internal predecessors, (218), 0 states have call successors, (0), 0 states have call predecessors, (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,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 194 states to 194 states and 218 transitions. [2022-02-20 23:42:19,046 INFO L78 Accepts]: Start accepts. Automaton has 194 states and 218 transitions. Word has length 39 [2022-02-20 23:42:19,046 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:19,046 INFO L470 AbstractCegarLoop]: Abstraction has 194 states and 218 transitions. [2022-02-20 23:42:19,046 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 42 states, 42 states have (on average 2.1666666666666665) internal successors, (91), 42 states have internal predecessors, (91), 0 states have call successors, (0), 0 states have call predecessors, (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,046 INFO L276 IsEmpty]: Start isEmpty. Operand 194 states and 218 transitions. [2022-02-20 23:42:19,047 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 23:42:19,047 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:19,047 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:19,063 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:19,255 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,SelfDestructingSolverStorable24 [2022-02-20 23:42:19,255 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:19,256 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:19,256 INFO L85 PathProgramCache]: Analyzing trace with hash 1200593699, now seen corresponding path program 3 times [2022-02-20 23:42:19,256 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:19,256 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1472083229] [2022-02-20 23:42:19,256 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:19,256 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:19,278 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:19,390 INFO L290 TraceCheckUtils]: 0: Hoare triple {9542#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9542#true} is VALID [2022-02-20 23:42:19,391 INFO L290 TraceCheckUtils]: 1: Hoare triple {9542#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {9542#true} is VALID [2022-02-20 23:42:19,391 INFO L290 TraceCheckUtils]: 2: Hoare triple {9542#true} assume !(main_~length1~0#1 < 1); {9542#true} is VALID [2022-02-20 23:42:19,391 INFO L290 TraceCheckUtils]: 3: Hoare triple {9542#true} assume !(main_~length2~0#1 < 1); {9542#true} is VALID [2022-02-20 23:42:19,391 INFO L290 TraceCheckUtils]: 4: Hoare triple {9542#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {9544#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,392 INFO L290 TraceCheckUtils]: 5: Hoare triple {9544#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {9544#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,392 INFO L290 TraceCheckUtils]: 6: Hoare triple {9544#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {9544#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,393 INFO L290 TraceCheckUtils]: 7: Hoare triple {9544#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet11#1; {9544#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,393 INFO L290 TraceCheckUtils]: 8: Hoare triple {9544#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {9545#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,394 INFO L290 TraceCheckUtils]: 9: Hoare triple {9545#(and (<= 1 |ULTIMATE.start_main_~i~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,394 INFO L290 TraceCheckUtils]: 10: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,394 INFO L290 TraceCheckUtils]: 11: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet11#1; {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,395 INFO L290 TraceCheckUtils]: 12: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,396 INFO L290 TraceCheckUtils]: 15: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,396 INFO L290 TraceCheckUtils]: 16: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,397 INFO L290 TraceCheckUtils]: 17: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet13#1; {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,397 INFO L290 TraceCheckUtils]: 18: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,397 INFO L290 TraceCheckUtils]: 19: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,398 INFO L290 TraceCheckUtils]: 20: Hoare triple {9546#(and (<= 3 |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {9547#(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:19,398 INFO L290 TraceCheckUtils]: 21: Hoare triple {9547#(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: L545 {9547#(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:19,399 INFO L290 TraceCheckUtils]: 22: Hoare triple {9547#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {9548#(and (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} is VALID [2022-02-20 23:42:19,399 INFO L290 TraceCheckUtils]: 23: Hoare triple {9548#(and (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9549#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (+ (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|)) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} is VALID [2022-02-20 23:42:19,400 INFO L290 TraceCheckUtils]: 24: Hoare triple {9549#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (+ (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|)) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,400 INFO L290 TraceCheckUtils]: 25: Hoare triple {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,401 INFO L290 TraceCheckUtils]: 26: Hoare triple {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,401 INFO L290 TraceCheckUtils]: 27: Hoare triple {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,402 INFO L290 TraceCheckUtils]: 28: Hoare triple {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,402 INFO L290 TraceCheckUtils]: 29: Hoare triple {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,402 INFO L290 TraceCheckUtils]: 30: Hoare triple {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,403 INFO L290 TraceCheckUtils]: 31: Hoare triple {9550#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,403 INFO L290 TraceCheckUtils]: 32: Hoare triple {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,404 INFO L290 TraceCheckUtils]: 33: Hoare triple {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,404 INFO L290 TraceCheckUtils]: 34: Hoare triple {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,405 INFO L290 TraceCheckUtils]: 35: Hoare triple {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,405 INFO L290 TraceCheckUtils]: 36: Hoare triple {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,405 INFO L290 TraceCheckUtils]: 37: Hoare triple {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,406 INFO L290 TraceCheckUtils]: 38: Hoare triple {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:19,406 INFO L290 TraceCheckUtils]: 39: Hoare triple {9551#(and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9552#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} is VALID [2022-02-20 23:42:19,407 INFO L290 TraceCheckUtils]: 40: Hoare triple {9552#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {9543#false} is VALID [2022-02-20 23:42:19,407 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 0 proven. 18 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:19,407 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:19,407 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1472083229] [2022-02-20 23:42:19,407 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1472083229] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:19,407 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [970276095] [2022-02-20 23:42:19,408 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:42:19,408 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:19,408 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:19,412 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:19,413 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:19,488 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-02-20 23:42:19,488 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:19,490 INFO L263 TraceCheckSpWp]: Trace formula consists of 219 conjuncts, 61 conjunts are in the unsatisfiable core [2022-02-20 23:42:19,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:19,508 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:19,566 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:19,566 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:20,089 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:22,082 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:42:22,085 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:22,085 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 15 [2022-02-20 23:42:22,343 INFO L290 TraceCheckUtils]: 0: Hoare triple {9542#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9542#true} is VALID [2022-02-20 23:42:22,343 INFO L290 TraceCheckUtils]: 1: Hoare triple {9542#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {9542#true} is VALID [2022-02-20 23:42:22,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {9542#true} assume !(main_~length1~0#1 < 1); {9542#true} is VALID [2022-02-20 23:42:22,343 INFO L290 TraceCheckUtils]: 3: Hoare triple {9542#true} assume !(main_~length2~0#1 < 1); {9542#true} is VALID [2022-02-20 23:42:22,348 INFO L290 TraceCheckUtils]: 4: Hoare triple {9542#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {9568#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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:22,348 INFO L290 TraceCheckUtils]: 5: Hoare triple {9568#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {9568#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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:22,349 INFO L290 TraceCheckUtils]: 6: Hoare triple {9568#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {9568#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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:22,350 INFO L290 TraceCheckUtils]: 7: Hoare triple {9568#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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~nondet11#1; {9568#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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:22,350 INFO L290 TraceCheckUtils]: 8: Hoare triple {9568#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {9581#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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:22,351 INFO L290 TraceCheckUtils]: 9: Hoare triple {9581#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 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 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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:22,351 INFO L290 TraceCheckUtils]: 10: Hoare triple {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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:22,352 INFO L290 TraceCheckUtils]: 11: Hoare triple {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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~nondet11#1; {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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:22,353 INFO L290 TraceCheckUtils]: 12: Hoare triple {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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:22,353 INFO L290 TraceCheckUtils]: 13: Hoare triple {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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 - 1); {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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:22,354 INFO L290 TraceCheckUtils]: 14: Hoare triple {9585#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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_~i~1#1 := 0; {9601#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (< 2 (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:22,354 INFO L290 TraceCheckUtils]: 15: Hoare triple {9601#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (< 2 (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~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {9605#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (< 2 (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) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:22,355 INFO L290 TraceCheckUtils]: 16: Hoare triple {9605#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (< 2 (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) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {9605#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (< 2 (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) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:22,355 INFO L290 TraceCheckUtils]: 17: Hoare triple {9605#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (< 2 (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) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet13#1; {9605#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (< 2 (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) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:22,356 INFO L290 TraceCheckUtils]: 18: Hoare triple {9605#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (< 2 (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) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {9615#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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_~i~1#1| 1) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:22,357 INFO L290 TraceCheckUtils]: 19: Hoare triple {9615#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (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_~i~1#1| 1) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9619#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< 1 |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:22,357 INFO L290 TraceCheckUtils]: 20: Hoare triple {9619#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< 1 |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: L541-4 {9619#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< 1 |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:22,358 INFO L290 TraceCheckUtils]: 21: Hoare triple {9619#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (< 2 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< 1 |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: L545 {9626#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (or (< 2 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:22,359 INFO L290 TraceCheckUtils]: 22: Hoare triple {9626#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (or (< 2 (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {9630#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} is VALID [2022-02-20 23:42:22,360 INFO L290 TraceCheckUtils]: 23: Hoare triple {9630#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9634#(and (<= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0) (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1)))} is VALID [2022-02-20 23:42:22,361 INFO L290 TraceCheckUtils]: 24: Hoare triple {9634#(and (<= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0) (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:22,362 INFO L290 TraceCheckUtils]: 25: Hoare triple {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:22,362 INFO L290 TraceCheckUtils]: 26: Hoare triple {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:22,363 INFO L290 TraceCheckUtils]: 27: Hoare triple {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:22,364 INFO L290 TraceCheckUtils]: 28: Hoare triple {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:22,365 INFO L290 TraceCheckUtils]: 29: Hoare triple {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:22,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:22,366 INFO L290 TraceCheckUtils]: 31: Hoare triple {9638#(and (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~p~0#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9660#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)) (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1)))} is VALID [2022-02-20 23:42:22,367 INFO L290 TraceCheckUtils]: 32: Hoare triple {9660#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (<= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (exists ((|ULTIMATE.start_main_~nondetString2~0#1.base| Int) (|ULTIMATE.start_main_~length2~0#1| Int)) (and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)) (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {9664#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} is VALID [2022-02-20 23:42:22,367 INFO L290 TraceCheckUtils]: 33: Hoare triple {9664#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {9668#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} is VALID [2022-02-20 23:42:22,368 INFO L290 TraceCheckUtils]: 34: Hoare triple {9668#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {9668#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} is VALID [2022-02-20 23:42:22,368 INFO L290 TraceCheckUtils]: 35: Hoare triple {9668#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {9668#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} is VALID [2022-02-20 23:42:22,369 INFO L290 TraceCheckUtils]: 36: Hoare triple {9668#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {9668#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} is VALID [2022-02-20 23:42:22,369 INFO L290 TraceCheckUtils]: 37: Hoare triple {9668#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {9681#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (not (= |ULTIMATE.start_cstrspn_~sc~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} is VALID [2022-02-20 23:42:22,369 INFO L290 TraceCheckUtils]: 38: Hoare triple {9681#(and (or (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0)) (not (= |ULTIMATE.start_cstrspn_~sc~0#1| 0)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {9685#(and (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} is VALID [2022-02-20 23:42:22,370 INFO L290 TraceCheckUtils]: 39: Hoare triple {9685#(and (< 2 (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| 2))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9689#(and (< 2 (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 2))} is VALID [2022-02-20 23:42:22,370 INFO L290 TraceCheckUtils]: 40: Hoare triple {9689#(and (< 2 (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 2))} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {9543#false} is VALID [2022-02-20 23:42:22,371 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 1 proven. 18 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:22,371 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:23,114 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 37 treesize of output 31 [2022-02-20 23:42:24,316 INFO L290 TraceCheckUtils]: 40: Hoare triple {9693#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {9543#false} is VALID [2022-02-20 23:42:24,317 INFO L290 TraceCheckUtils]: 39: Hoare triple {9697#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9693#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|)))} is VALID [2022-02-20 23:42:24,317 INFO L290 TraceCheckUtils]: 38: Hoare triple {9701#(or (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {9697#(and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)))} is VALID [2022-02-20 23:42:24,317 INFO L290 TraceCheckUtils]: 37: Hoare triple {9705#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {9701#(or (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|)))} is VALID [2022-02-20 23:42:24,318 INFO L290 TraceCheckUtils]: 36: Hoare triple {9705#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {9705#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:24,318 INFO L290 TraceCheckUtils]: 35: Hoare triple {9705#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {9705#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:24,318 INFO L290 TraceCheckUtils]: 34: Hoare triple {9705#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {9705#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:24,319 INFO L290 TraceCheckUtils]: 33: Hoare triple {9718#(or (= |ULTIMATE.start_cstrspn_#t~mem3#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {9705#(or (= |ULTIMATE.start_cstrspn_~c~0#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:24,319 INFO L290 TraceCheckUtils]: 32: Hoare triple {9722#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {9718#(or (= |ULTIMATE.start_cstrspn_#t~mem3#1| 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:24,320 INFO L290 TraceCheckUtils]: 31: Hoare triple {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9722#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0) (and (<= 0 |ULTIMATE.start_cstrspn_~p~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))))} is VALID [2022-02-20 23:42:24,320 INFO L290 TraceCheckUtils]: 30: Hoare triple {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} is VALID [2022-02-20 23:42:24,321 INFO L290 TraceCheckUtils]: 29: Hoare triple {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} is VALID [2022-02-20 23:42:24,321 INFO L290 TraceCheckUtils]: 28: Hoare triple {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} is VALID [2022-02-20 23:42:24,321 INFO L290 TraceCheckUtils]: 27: Hoare triple {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} is VALID [2022-02-20 23:42:24,322 INFO L290 TraceCheckUtils]: 26: Hoare triple {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} is VALID [2022-02-20 23:42:24,322 INFO L290 TraceCheckUtils]: 25: Hoare triple {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} is VALID [2022-02-20 23:42:24,323 INFO L290 TraceCheckUtils]: 24: Hoare triple {9748#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))) (not (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {9726#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))))} is VALID [2022-02-20 23:42:24,324 INFO L290 TraceCheckUtils]: 23: Hoare triple {9752#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| Int)) (or (not (<= |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| |ULTIMATE.start_cstrspn_~p~0#1.offset|)) (<= (+ 3 |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| 1)) 0)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {9748#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1))) (not (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|)))} is VALID [2022-02-20 23:42:24,325 INFO L290 TraceCheckUtils]: 22: Hoare triple {9756#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| Int)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| 1)) 0) (<= (+ 3 |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|))))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {9752#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| Int)) (or (not (<= |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| |ULTIMATE.start_cstrspn_~p~0#1.offset|)) (<= (+ 3 |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| 1)) 0)))} is VALID [2022-02-20 23:42:24,326 INFO L290 TraceCheckUtils]: 21: Hoare triple {9760#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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: L545 {9756#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| Int)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29| 1)) 0) (<= (+ 3 |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_29|))))} is VALID [2022-02-20 23:42:24,326 INFO L290 TraceCheckUtils]: 20: Hoare triple {9760#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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: L541-4 {9760#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:24,327 INFO L290 TraceCheckUtils]: 19: Hoare triple {9767#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {9760#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:24,328 INFO L290 TraceCheckUtils]: 18: Hoare triple {9771#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {9767#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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:24,328 INFO L290 TraceCheckUtils]: 17: Hoare triple {9771#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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|))} havoc main_#t~nondet13#1; {9771#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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:24,329 INFO L290 TraceCheckUtils]: 16: Hoare triple {9771#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {9771#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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:24,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {9781#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|))) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {9771#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 2)) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 2) (+ |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:24,331 INFO L290 TraceCheckUtils]: 14: Hoare triple {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_~i~1#1 := 0; {9781#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|))) (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|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1|) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:24,331 INFO L290 TraceCheckUtils]: 13: Hoare triple {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |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 - 1); {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:24,332 INFO L290 TraceCheckUtils]: 12: Hoare triple {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:24,332 INFO L290 TraceCheckUtils]: 11: Hoare triple {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} havoc main_#t~nondet11#1; {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:24,333 INFO L290 TraceCheckUtils]: 10: Hoare triple {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:24,334 INFO L290 TraceCheckUtils]: 9: Hoare triple {9801#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {9785#(and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))))} is VALID [2022-02-20 23:42:24,334 INFO L290 TraceCheckUtils]: 8: Hoare triple {9805#(or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {9801#(or (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))) (not (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:24,335 INFO L290 TraceCheckUtils]: 7: Hoare triple {9805#(or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} havoc main_#t~nondet11#1; {9805#(or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} is VALID [2022-02-20 23:42:24,336 INFO L290 TraceCheckUtils]: 6: Hoare triple {9805#(or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {9805#(or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} is VALID [2022-02-20 23:42:24,336 INFO L290 TraceCheckUtils]: 5: Hoare triple {9805#(or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |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 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {9805#(or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} is VALID [2022-02-20 23:42:24,337 INFO L290 TraceCheckUtils]: 4: Hoare triple {9542#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {9805#(or (<= |ULTIMATE.start_main_~length1~0#1| (+ 2 |ULTIMATE.start_main_~i~0#1|)) (and (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|)) (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~nondetString2~0#1.offset|) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|)))))} is VALID [2022-02-20 23:42:24,337 INFO L290 TraceCheckUtils]: 3: Hoare triple {9542#true} assume !(main_~length2~0#1 < 1); {9542#true} is VALID [2022-02-20 23:42:24,337 INFO L290 TraceCheckUtils]: 2: Hoare triple {9542#true} assume !(main_~length1~0#1 < 1); {9542#true} is VALID [2022-02-20 23:42:24,337 INFO L290 TraceCheckUtils]: 1: Hoare triple {9542#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {9542#true} is VALID [2022-02-20 23:42:24,337 INFO L290 TraceCheckUtils]: 0: Hoare triple {9542#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9542#true} is VALID [2022-02-20 23:42:24,338 INFO L134 CoverageAnalysis]: Checked inductivity of 19 backedges. 6 proven. 13 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:24,338 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [970276095] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:24,338 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:24,338 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 18, 18] total 44 [2022-02-20 23:42:24,338 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [665817656] [2022-02-20 23:42:24,338 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:24,339 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 44 states have (on average 2.6136363636363638) internal successors, (115), 45 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 41 [2022-02-20 23:42:24,339 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:24,339 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 45 states, 44 states have (on average 2.6136363636363638) internal successors, (115), 45 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:42:24,427 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:42:24,427 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 45 states [2022-02-20 23:42:24,428 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:24,428 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 45 interpolants. [2022-02-20 23:42:24,429 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=190, Invalid=1790, Unknown=0, NotChecked=0, Total=1980 [2022-02-20 23:42:24,429 INFO L87 Difference]: Start difference. First operand 194 states and 218 transitions. Second operand has 45 states, 44 states have (on average 2.6136363636363638) internal successors, (115), 45 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:42:28,181 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:28,182 INFO L93 Difference]: Finished difference Result 251 states and 278 transitions. [2022-02-20 23:42:28,182 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 36 states. [2022-02-20 23:42:28,182 INFO L78 Accepts]: Start accepts. Automaton has has 45 states, 44 states have (on average 2.6136363636363638) internal successors, (115), 45 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 41 [2022-02-20 23:42:28,182 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:28,182 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 44 states have (on average 2.6136363636363638) internal successors, (115), 45 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:42:28,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 131 transitions. [2022-02-20 23:42:28,183 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 45 states, 44 states have (on average 2.6136363636363638) internal successors, (115), 45 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:42:28,184 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 36 states to 36 states and 131 transitions. [2022-02-20 23:42:28,184 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 36 states and 131 transitions. [2022-02-20 23:42:28,316 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 131 edges. 131 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:28,318 INFO L225 Difference]: With dead ends: 251 [2022-02-20 23:42:28,318 INFO L226 Difference]: Without dead ends: 251 [2022-02-20 23:42:28,319 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 54 SyntacticMatches, 0 SemanticMatches, 77 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1105 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=743, Invalid=5419, Unknown=0, NotChecked=0, Total=6162 [2022-02-20 23:42:28,320 INFO L933 BasicCegarLoop]: 46 mSDtfsCounter, 282 mSDsluCounter, 940 mSDsCounter, 0 mSdLazyCounter, 886 mSolverCounterSat, 38 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 282 SdHoareTripleChecker+Valid, 986 SdHoareTripleChecker+Invalid, 1154 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 38 IncrementalHoareTripleChecker+Valid, 886 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 230 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:28,320 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [282 Valid, 986 Invalid, 1154 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [38 Valid, 886 Invalid, 0 Unknown, 230 Unchecked, 0.7s Time] [2022-02-20 23:42:28,320 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 251 states. [2022-02-20 23:42:28,322 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 251 to 209. [2022-02-20 23:42:28,323 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:28,323 INFO L82 GeneralOperation]: Start isEquivalent. First operand 251 states. Second operand has 209 states, 207 states have (on average 1.1400966183574879) internal successors, (236), 208 states have internal predecessors, (236), 0 states have call successors, (0), 0 states have call predecessors, (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,323 INFO L74 IsIncluded]: Start isIncluded. First operand 251 states. Second operand has 209 states, 207 states have (on average 1.1400966183574879) internal successors, (236), 208 states have internal predecessors, (236), 0 states have call successors, (0), 0 states have call predecessors, (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,323 INFO L87 Difference]: Start difference. First operand 251 states. Second operand has 209 states, 207 states have (on average 1.1400966183574879) internal successors, (236), 208 states have internal predecessors, (236), 0 states have call successors, (0), 0 states have call predecessors, (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,326 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:28,326 INFO L93 Difference]: Finished difference Result 251 states and 278 transitions. [2022-02-20 23:42:28,326 INFO L276 IsEmpty]: Start isEmpty. Operand 251 states and 278 transitions. [2022-02-20 23:42:28,327 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:28,327 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:28,327 INFO L74 IsIncluded]: Start isIncluded. First operand has 209 states, 207 states have (on average 1.1400966183574879) internal successors, (236), 208 states have internal predecessors, (236), 0 states have call successors, (0), 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 251 states. [2022-02-20 23:42:28,327 INFO L87 Difference]: Start difference. First operand has 209 states, 207 states have (on average 1.1400966183574879) internal successors, (236), 208 states have internal predecessors, (236), 0 states have call successors, (0), 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 251 states. [2022-02-20 23:42:28,330 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:28,330 INFO L93 Difference]: Finished difference Result 251 states and 278 transitions. [2022-02-20 23:42:28,330 INFO L276 IsEmpty]: Start isEmpty. Operand 251 states and 278 transitions. [2022-02-20 23:42:28,330 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:28,331 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:28,331 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:28,331 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:28,331 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 209 states, 207 states have (on average 1.1400966183574879) internal successors, (236), 208 states have internal predecessors, (236), 0 states have call successors, (0), 0 states have call predecessors, (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,333 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 209 states to 209 states and 236 transitions. [2022-02-20 23:42:28,333 INFO L78 Accepts]: Start accepts. Automaton has 209 states and 236 transitions. Word has length 41 [2022-02-20 23:42:28,333 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:28,333 INFO L470 AbstractCegarLoop]: Abstraction has 209 states and 236 transitions. [2022-02-20 23:42:28,334 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 45 states, 44 states have (on average 2.6136363636363638) internal successors, (115), 45 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:42:28,334 INFO L276 IsEmpty]: Start isEmpty. Operand 209 states and 236 transitions. [2022-02-20 23:42:28,334 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-02-20 23:42:28,334 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:28,334 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 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] [2022-02-20 23:42:28,351 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:28,551 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-02-20 23:42:28,551 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:28,551 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:28,551 INFO L85 PathProgramCache]: Analyzing trace with hash -1978925873, now seen corresponding path program 1 times [2022-02-20 23:42:28,551 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:28,551 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [430622271] [2022-02-20 23:42:28,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:28,552 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:28,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:28,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {10866#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10866#true} is VALID [2022-02-20 23:42:28,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {10866#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {10866#true} is VALID [2022-02-20 23:42:28,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {10866#true} assume !(main_~length1~0#1 < 1); {10866#true} is VALID [2022-02-20 23:42:28,747 INFO L290 TraceCheckUtils]: 3: Hoare triple {10866#true} assume !(main_~length2~0#1 < 1); {10866#true} is VALID [2022-02-20 23:42:28,748 INFO L290 TraceCheckUtils]: 4: Hoare triple {10866#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:28,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:28,749 INFO L290 TraceCheckUtils]: 6: Hoare triple {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:28,749 INFO L290 TraceCheckUtils]: 7: Hoare triple {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} havoc main_#t~nondet11#1; {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:28,749 INFO L290 TraceCheckUtils]: 8: Hoare triple {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:28,750 INFO L290 TraceCheckUtils]: 9: Hoare triple {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} is VALID [2022-02-20 23:42:28,750 INFO L290 TraceCheckUtils]: 10: Hoare triple {10868#(= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0)} main_~i~1#1 := 0; {10869#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:28,751 INFO L290 TraceCheckUtils]: 11: Hoare triple {10869#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {10870#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:28,751 INFO L290 TraceCheckUtils]: 12: Hoare triple {10870#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {10870#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:28,752 INFO L290 TraceCheckUtils]: 13: Hoare triple {10870#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} havoc main_#t~nondet13#1; {10870#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:28,752 INFO L290 TraceCheckUtils]: 14: Hoare triple {10870#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 3 (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|))) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {10871#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} is VALID [2022-02-20 23:42:28,753 INFO L290 TraceCheckUtils]: 15: Hoare triple {10871#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {10872#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1))} is VALID [2022-02-20 23:42:28,753 INFO L290 TraceCheckUtils]: 16: Hoare triple {10872#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |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: L541-4 {10872#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 1))} is VALID [2022-02-20 23:42:28,754 INFO L290 TraceCheckUtils]: 17: Hoare triple {10872#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |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: L545 {10873#(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:28,754 INFO L290 TraceCheckUtils]: 18: Hoare triple {10873#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,755 INFO L290 TraceCheckUtils]: 19: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,755 INFO L290 TraceCheckUtils]: 20: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,756 INFO L290 TraceCheckUtils]: 21: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,756 INFO L290 TraceCheckUtils]: 22: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,756 INFO L290 TraceCheckUtils]: 23: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,757 INFO L290 TraceCheckUtils]: 24: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,757 INFO L290 TraceCheckUtils]: 25: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,757 INFO L290 TraceCheckUtils]: 26: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,758 INFO L290 TraceCheckUtils]: 27: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,758 INFO L290 TraceCheckUtils]: 28: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:28,759 INFO L290 TraceCheckUtils]: 29: Hoare triple {10874#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 1) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {10875#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1) 0) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:42:28,759 INFO L290 TraceCheckUtils]: 30: Hoare triple {10875#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 1) 0) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10876#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (* (- 1) |ULTIMATE.start_cstrspn_#t~post4#1.offset|))) 0) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} is VALID [2022-02-20 23:42:28,760 INFO L290 TraceCheckUtils]: 31: Hoare triple {10876#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| (* (- 1) |ULTIMATE.start_cstrspn_#t~post4#1.offset|))) 0) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:28,760 INFO L290 TraceCheckUtils]: 32: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:28,760 INFO L290 TraceCheckUtils]: 33: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:28,761 INFO L290 TraceCheckUtils]: 34: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:28,761 INFO L290 TraceCheckUtils]: 35: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10878#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:42:28,761 INFO L290 TraceCheckUtils]: 36: Hoare triple {10878#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {10879#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:42:28,762 INFO L290 TraceCheckUtils]: 37: Hoare triple {10879#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {10880#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:42:28,762 INFO L290 TraceCheckUtils]: 38: Hoare triple {10880#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {10867#false} is VALID [2022-02-20 23:42:28,762 INFO L290 TraceCheckUtils]: 39: Hoare triple {10867#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {10867#false} is VALID [2022-02-20 23:42:28,762 INFO L290 TraceCheckUtils]: 40: Hoare triple {10867#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10867#false} is VALID [2022-02-20 23:42:28,762 INFO L290 TraceCheckUtils]: 41: Hoare triple {10867#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {10867#false} is VALID [2022-02-20 23:42:28,763 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:42:28,763 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:28,763 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [430622271] [2022-02-20 23:42:28,764 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [430622271] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:28,764 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1383445081] [2022-02-20 23:42:28,764 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:28,764 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:28,764 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:28,765 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:28,781 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:28,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:28,858 INFO L263 TraceCheckSpWp]: Trace formula consists of 222 conjuncts, 40 conjunts are in the unsatisfiable core [2022-02-20 23:42:28,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:28,871 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:29,000 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:29,688 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,697 INFO L290 TraceCheckUtils]: 0: Hoare triple {10866#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10866#true} is VALID [2022-02-20 23:42:29,697 INFO L290 TraceCheckUtils]: 1: Hoare triple {10866#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {10866#true} is VALID [2022-02-20 23:42:29,697 INFO L290 TraceCheckUtils]: 2: Hoare triple {10866#true} assume !(main_~length1~0#1 < 1); {10866#true} is VALID [2022-02-20 23:42:29,697 INFO L290 TraceCheckUtils]: 3: Hoare triple {10866#true} assume !(main_~length2~0#1 < 1); {10866#true} is VALID [2022-02-20 23:42:29,697 INFO L290 TraceCheckUtils]: 4: Hoare triple {10866#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {10866#true} is VALID [2022-02-20 23:42:29,697 INFO L290 TraceCheckUtils]: 5: Hoare triple {10866#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {10866#true} is VALID [2022-02-20 23:42:29,698 INFO L290 TraceCheckUtils]: 6: Hoare triple {10866#true} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {10866#true} is VALID [2022-02-20 23:42:29,698 INFO L290 TraceCheckUtils]: 7: Hoare triple {10866#true} havoc main_#t~nondet11#1; {10866#true} is VALID [2022-02-20 23:42:29,698 INFO L290 TraceCheckUtils]: 8: Hoare triple {10866#true} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {10866#true} is VALID [2022-02-20 23:42:29,698 INFO L290 TraceCheckUtils]: 9: Hoare triple {10866#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {10866#true} is VALID [2022-02-20 23:42:29,700 INFO L290 TraceCheckUtils]: 10: Hoare triple {10866#true} main_~i~1#1 := 0; {10914#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:42:29,700 INFO L290 TraceCheckUtils]: 11: Hoare triple {10914#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {10918#(and (= |ULTIMATE.start_main_~i~1#1| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:29,701 INFO L290 TraceCheckUtils]: 12: Hoare triple {10918#(and (= |ULTIMATE.start_main_~i~1#1| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {10918#(and (= |ULTIMATE.start_main_~i~1#1| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:29,701 INFO L290 TraceCheckUtils]: 13: Hoare triple {10918#(and (= |ULTIMATE.start_main_~i~1#1| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet13#1; {10918#(and (= |ULTIMATE.start_main_~i~1#1| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:29,701 INFO L290 TraceCheckUtils]: 14: Hoare triple {10918#(and (= |ULTIMATE.start_main_~i~1#1| 0) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {10928#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (< 1 |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:29,702 INFO L290 TraceCheckUtils]: 15: Hoare triple {10928#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (< 1 |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {10932#(and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:42:29,702 INFO L290 TraceCheckUtils]: 16: Hoare triple {10932#(and (< 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: L541-4 {10932#(and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:42:29,703 INFO L290 TraceCheckUtils]: 17: Hoare triple {10932#(and (< 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: L545 {10939#(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:29,704 INFO L290 TraceCheckUtils]: 18: Hoare triple {10939#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,704 INFO L290 TraceCheckUtils]: 19: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,704 INFO L290 TraceCheckUtils]: 20: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,705 INFO L290 TraceCheckUtils]: 21: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,705 INFO L290 TraceCheckUtils]: 22: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,705 INFO L290 TraceCheckUtils]: 23: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,707 INFO L290 TraceCheckUtils]: 25: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,707 INFO L290 TraceCheckUtils]: 26: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,707 INFO L290 TraceCheckUtils]: 27: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,708 INFO L290 TraceCheckUtils]: 28: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,711 INFO L290 TraceCheckUtils]: 29: Hoare triple {10943#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0) (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {10977#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} is VALID [2022-02-20 23:42:29,712 INFO L290 TraceCheckUtils]: 30: Hoare triple {10977#(exists ((|ULTIMATE.start_main_~length2~0#1| Int)) (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) 0) (<= |ULTIMATE.start_main_~length2~0#1| 2)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:29,712 INFO L290 TraceCheckUtils]: 31: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:29,712 INFO L290 TraceCheckUtils]: 32: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:29,712 INFO L290 TraceCheckUtils]: 33: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:29,713 INFO L290 TraceCheckUtils]: 34: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:29,713 INFO L290 TraceCheckUtils]: 35: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10878#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:42:29,714 INFO L290 TraceCheckUtils]: 36: Hoare triple {10878#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {10879#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:42:29,714 INFO L290 TraceCheckUtils]: 37: Hoare triple {10879#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {10880#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:42:29,714 INFO L290 TraceCheckUtils]: 38: Hoare triple {10880#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {10867#false} is VALID [2022-02-20 23:42:29,714 INFO L290 TraceCheckUtils]: 39: Hoare triple {10867#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {10867#false} is VALID [2022-02-20 23:42:29,714 INFO L290 TraceCheckUtils]: 40: Hoare triple {10867#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10867#false} is VALID [2022-02-20 23:42:29,714 INFO L290 TraceCheckUtils]: 41: Hoare triple {10867#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {10867#false} is VALID [2022-02-20 23:42:29,715 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:42:29,715 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:29,818 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:29,822 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:29,997 INFO L290 TraceCheckUtils]: 41: Hoare triple {10867#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {10867#false} is VALID [2022-02-20 23:42:29,997 INFO L290 TraceCheckUtils]: 40: Hoare triple {10867#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10867#false} is VALID [2022-02-20 23:42:29,997 INFO L290 TraceCheckUtils]: 39: Hoare triple {10867#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {10867#false} is VALID [2022-02-20 23:42:29,997 INFO L290 TraceCheckUtils]: 38: Hoare triple {10880#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {10867#false} is VALID [2022-02-20 23:42:29,998 INFO L290 TraceCheckUtils]: 37: Hoare triple {10879#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {10880#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:42:29,998 INFO L290 TraceCheckUtils]: 36: Hoare triple {10878#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {10879#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:42:29,998 INFO L290 TraceCheckUtils]: 35: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10878#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:42:29,999 INFO L290 TraceCheckUtils]: 34: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:29,999 INFO L290 TraceCheckUtils]: 33: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:29,999 INFO L290 TraceCheckUtils]: 32: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:29,999 INFO L290 TraceCheckUtils]: 31: Hoare triple {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:30,000 INFO L290 TraceCheckUtils]: 30: Hoare triple {11047#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {10877#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:30,000 INFO L290 TraceCheckUtils]: 29: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {11047#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:30,001 INFO L290 TraceCheckUtils]: 28: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,001 INFO L290 TraceCheckUtils]: 27: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,001 INFO L290 TraceCheckUtils]: 26: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,002 INFO L290 TraceCheckUtils]: 25: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,002 INFO L290 TraceCheckUtils]: 24: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,002 INFO L290 TraceCheckUtils]: 23: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,003 INFO L290 TraceCheckUtils]: 22: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,003 INFO L290 TraceCheckUtils]: 21: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,003 INFO L290 TraceCheckUtils]: 20: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,004 INFO L290 TraceCheckUtils]: 19: Hoare triple {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,004 INFO L290 TraceCheckUtils]: 18: Hoare triple {11085#(= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) 0)} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {11051#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 1 |ULTIMATE.start_cstrspn_~s2#1.offset|)) 0)} is VALID [2022-02-20 23:42:30,005 INFO L290 TraceCheckUtils]: 17: Hoare triple {10932#(and (< 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: L545 {11085#(= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:30,005 INFO L290 TraceCheckUtils]: 16: Hoare triple {10932#(and (< 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: L541-4 {10932#(and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:42:30,005 INFO L290 TraceCheckUtils]: 15: Hoare triple {11095#(or (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {10932#(and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2))} is VALID [2022-02-20 23:42:30,006 INFO L290 TraceCheckUtils]: 14: Hoare triple {11099#(or (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {11095#(or (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |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:30,006 INFO L290 TraceCheckUtils]: 13: Hoare triple {11099#(or (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} havoc main_#t~nondet13#1; {11099#(or (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:30,007 INFO L290 TraceCheckUtils]: 12: Hoare triple {11099#(or (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {11099#(or (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:30,007 INFO L290 TraceCheckUtils]: 11: Hoare triple {10914#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {11099#(or (and (< 1 |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| 2)) (< (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:30,007 INFO L290 TraceCheckUtils]: 10: Hoare triple {10866#true} main_~i~1#1 := 0; {10914#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:42:30,007 INFO L290 TraceCheckUtils]: 9: Hoare triple {10866#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {10866#true} is VALID [2022-02-20 23:42:30,007 INFO L290 TraceCheckUtils]: 8: Hoare triple {10866#true} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {10866#true} is VALID [2022-02-20 23:42:30,007 INFO L290 TraceCheckUtils]: 7: Hoare triple {10866#true} havoc main_#t~nondet11#1; {10866#true} is VALID [2022-02-20 23:42:30,007 INFO L290 TraceCheckUtils]: 6: Hoare triple {10866#true} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {10866#true} is VALID [2022-02-20 23:42:30,008 INFO L290 TraceCheckUtils]: 5: Hoare triple {10866#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {10866#true} is VALID [2022-02-20 23:42:30,008 INFO L290 TraceCheckUtils]: 4: Hoare triple {10866#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {10866#true} is VALID [2022-02-20 23:42:30,008 INFO L290 TraceCheckUtils]: 3: Hoare triple {10866#true} assume !(main_~length2~0#1 < 1); {10866#true} is VALID [2022-02-20 23:42:30,008 INFO L290 TraceCheckUtils]: 2: Hoare triple {10866#true} assume !(main_~length1~0#1 < 1); {10866#true} is VALID [2022-02-20 23:42:30,008 INFO L290 TraceCheckUtils]: 1: Hoare triple {10866#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {10866#true} is VALID [2022-02-20 23:42:30,008 INFO L290 TraceCheckUtils]: 0: Hoare triple {10866#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10866#true} is VALID [2022-02-20 23:42:30,008 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 8 proven. 14 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:42:30,008 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1383445081] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:30,008 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:30,008 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [15, 13, 13] total 27 [2022-02-20 23:42:30,008 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1769578550] [2022-02-20 23:42:30,008 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:30,009 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 3.074074074074074) internal successors, (83), 27 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 23:42:30,009 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:30,009 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 27 states, 27 states have (on average 3.074074074074074) internal successors, (83), 27 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:30,060 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:30,060 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-02-20 23:42:30,060 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:30,061 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-02-20 23:42:30,061 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=88, Invalid=614, Unknown=0, NotChecked=0, Total=702 [2022-02-20 23:42:30,061 INFO L87 Difference]: Start difference. First operand 209 states and 236 transitions. Second operand has 27 states, 27 states have (on average 3.074074074074074) internal successors, (83), 27 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:30,722 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:30,723 INFO L93 Difference]: Finished difference Result 258 states and 284 transitions. [2022-02-20 23:42:30,723 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 23:42:30,723 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 27 states have (on average 3.074074074074074) internal successors, (83), 27 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 23:42:30,723 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:30,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 3.074074074074074) internal successors, (83), 27 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:30,723 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 60 transitions. [2022-02-20 23:42:30,723 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 27 states have (on average 3.074074074074074) internal successors, (83), 27 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:30,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 60 transitions. [2022-02-20 23:42:30,724 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 60 transitions. [2022-02-20 23:42:30,771 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:30,773 INFO L225 Difference]: With dead ends: 258 [2022-02-20 23:42:30,773 INFO L226 Difference]: Without dead ends: 227 [2022-02-20 23:42:30,774 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 109 GetRequests, 69 SyntacticMatches, 3 SemanticMatches, 37 ConstructedPredicates, 0 IntricatePredicates, 3 DeprecatedPredicates, 300 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=302, Invalid=1180, Unknown=0, NotChecked=0, Total=1482 [2022-02-20 23:42:30,774 INFO L933 BasicCegarLoop]: 23 mSDtfsCounter, 113 mSDsluCounter, 252 mSDsCounter, 0 mSdLazyCounter, 199 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 113 SdHoareTripleChecker+Valid, 275 SdHoareTripleChecker+Invalid, 236 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 199 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 19 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:30,774 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [113 Valid, 275 Invalid, 236 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 199 Invalid, 0 Unknown, 19 Unchecked, 0.1s Time] [2022-02-20 23:42:30,775 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 227 states. [2022-02-20 23:42:30,777 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 227 to 226. [2022-02-20 23:42:30,777 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:30,777 INFO L82 GeneralOperation]: Start isEquivalent. First operand 227 states. Second operand has 226 states, 224 states have (on average 1.1294642857142858) internal successors, (253), 225 states have internal predecessors, (253), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:30,778 INFO L74 IsIncluded]: Start isIncluded. First operand 227 states. Second operand has 226 states, 224 states have (on average 1.1294642857142858) internal successors, (253), 225 states have internal predecessors, (253), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:30,778 INFO L87 Difference]: Start difference. First operand 227 states. Second operand has 226 states, 224 states have (on average 1.1294642857142858) internal successors, (253), 225 states have internal predecessors, (253), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:30,780 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:30,780 INFO L93 Difference]: Finished difference Result 227 states and 253 transitions. [2022-02-20 23:42:30,780 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 253 transitions. [2022-02-20 23:42:30,781 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:30,781 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:30,781 INFO L74 IsIncluded]: Start isIncluded. First operand has 226 states, 224 states have (on average 1.1294642857142858) internal successors, (253), 225 states have internal predecessors, (253), 0 states have call successors, (0), 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 227 states. [2022-02-20 23:42:30,781 INFO L87 Difference]: Start difference. First operand has 226 states, 224 states have (on average 1.1294642857142858) internal successors, (253), 225 states have internal predecessors, (253), 0 states have call successors, (0), 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 227 states. [2022-02-20 23:42:30,784 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:30,784 INFO L93 Difference]: Finished difference Result 227 states and 253 transitions. [2022-02-20 23:42:30,784 INFO L276 IsEmpty]: Start isEmpty. Operand 227 states and 253 transitions. [2022-02-20 23:42:30,784 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:30,784 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:30,784 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:30,784 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:30,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 226 states, 224 states have (on average 1.1294642857142858) internal successors, (253), 225 states have internal predecessors, (253), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:30,787 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 226 states to 226 states and 253 transitions. [2022-02-20 23:42:30,787 INFO L78 Accepts]: Start accepts. Automaton has 226 states and 253 transitions. Word has length 42 [2022-02-20 23:42:30,787 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:30,787 INFO L470 AbstractCegarLoop]: Abstraction has 226 states and 253 transitions. [2022-02-20 23:42:30,787 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 27 states have (on average 3.074074074074074) internal successors, (83), 27 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:30,788 INFO L276 IsEmpty]: Start isEmpty. Operand 226 states and 253 transitions. [2022-02-20 23:42:30,788 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 44 [2022-02-20 23:42:30,788 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:30,788 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:30,804 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:31,004 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,SelfDestructingSolverStorable26 [2022-02-20 23:42:31,004 INFO L402 AbstractCegarLoop]: === Iteration 28 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:31,004 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:31,004 INFO L85 PathProgramCache]: Analyzing trace with hash 1860251704, now seen corresponding path program 4 times [2022-02-20 23:42:31,005 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:31,005 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [621183826] [2022-02-20 23:42:31,005 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:31,005 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:31,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:31,219 INFO L290 TraceCheckUtils]: 0: Hoare triple {12103#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12103#true} is VALID [2022-02-20 23:42:31,219 INFO L290 TraceCheckUtils]: 1: Hoare triple {12103#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {12103#true} is VALID [2022-02-20 23:42:31,219 INFO L290 TraceCheckUtils]: 2: Hoare triple {12103#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {12103#true} is VALID [2022-02-20 23:42:31,219 INFO L290 TraceCheckUtils]: 3: Hoare triple {12103#true} assume !(main_~length2~0#1 < 1); {12103#true} is VALID [2022-02-20 23:42:31,220 INFO L290 TraceCheckUtils]: 4: Hoare triple {12103#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {12105#(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:31,220 INFO L290 TraceCheckUtils]: 5: Hoare triple {12105#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {12105#(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:31,220 INFO L290 TraceCheckUtils]: 6: Hoare triple {12105#(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; {12106#(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:31,221 INFO L290 TraceCheckUtils]: 7: Hoare triple {12106#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12106#(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:31,221 INFO L290 TraceCheckUtils]: 8: Hoare triple {12106#(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~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12106#(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:31,221 INFO L290 TraceCheckUtils]: 9: Hoare triple {12106#(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~nondet13#1; {12106#(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:31,222 INFO L290 TraceCheckUtils]: 10: Hoare triple {12106#(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~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12107#(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:31,222 INFO L290 TraceCheckUtils]: 11: Hoare triple {12107#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length2~0#1| 1) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12107#(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:31,223 INFO L290 TraceCheckUtils]: 12: Hoare triple {12107#(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~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12107#(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:31,223 INFO L290 TraceCheckUtils]: 13: Hoare triple {12107#(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~nondet13#1; {12107#(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:31,224 INFO L290 TraceCheckUtils]: 14: Hoare triple {12107#(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~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12108#(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:31,224 INFO L290 TraceCheckUtils]: 15: Hoare triple {12108#(and (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~i~1#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:31,224 INFO L290 TraceCheckUtils]: 16: Hoare triple {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:31,225 INFO L290 TraceCheckUtils]: 17: Hoare triple {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet13#1; {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:31,225 INFO L290 TraceCheckUtils]: 18: Hoare triple {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:31,225 INFO L290 TraceCheckUtils]: 19: Hoare triple {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:31,226 INFO L290 TraceCheckUtils]: 20: Hoare triple {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (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: L541-4 {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:31,226 INFO L290 TraceCheckUtils]: 21: Hoare triple {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (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: L545 {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:31,230 INFO L290 TraceCheckUtils]: 22: Hoare triple {12109#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 4 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {12110#(and (<= 4 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:31,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {12110#(and (<= 4 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {12110#(and (<= 4 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:31,232 INFO L290 TraceCheckUtils]: 24: Hoare triple {12110#(and (<= 4 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {12110#(and (<= 4 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:31,232 INFO L290 TraceCheckUtils]: 25: Hoare triple {12110#(and (<= 4 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {12111#(and (<= 4 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:42:31,232 INFO L290 TraceCheckUtils]: 26: Hoare triple {12111#(and (<= 4 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12112#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} is VALID [2022-02-20 23:42:31,233 INFO L290 TraceCheckUtils]: 27: Hoare triple {12112#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12113#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,233 INFO L290 TraceCheckUtils]: 28: Hoare triple {12113#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12113#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {12113#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12113#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,234 INFO L290 TraceCheckUtils]: 30: Hoare triple {12113#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12113#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {12113#(and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:31,235 INFO L290 TraceCheckUtils]: 32: Hoare triple {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:31,235 INFO L290 TraceCheckUtils]: 33: Hoare triple {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:31,236 INFO L290 TraceCheckUtils]: 34: Hoare triple {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:31,236 INFO L290 TraceCheckUtils]: 35: Hoare triple {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:31,236 INFO L290 TraceCheckUtils]: 36: Hoare triple {12114#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,237 INFO L290 TraceCheckUtils]: 37: Hoare triple {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,237 INFO L290 TraceCheckUtils]: 38: Hoare triple {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,237 INFO L290 TraceCheckUtils]: 39: Hoare triple {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,238 INFO L290 TraceCheckUtils]: 40: Hoare triple {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:31,238 INFO L290 TraceCheckUtils]: 41: Hoare triple {12115#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12116#(and (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_#t~post4#1.offset|))} is VALID [2022-02-20 23:42:31,239 INFO L290 TraceCheckUtils]: 42: Hoare triple {12116#(and (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_#t~post4#1.offset|))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {12104#false} is VALID [2022-02-20 23:42:31,239 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 1 proven. 35 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:31,239 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:31,239 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [621183826] [2022-02-20 23:42:31,239 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [621183826] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:31,239 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [965211259] [2022-02-20 23:42:31,239 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:42:31,240 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:31,240 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:31,241 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:31,242 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:31,312 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:42:31,312 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:31,314 INFO L263 TraceCheckSpWp]: Trace formula consists of 203 conjuncts, 60 conjunts are in the unsatisfiable core [2022-02-20 23:42:31,327 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:31,328 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:31,349 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:42:31,349 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:31,598 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:32,011 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:32,011 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 21 treesize of output 21 [2022-02-20 23:42:32,187 INFO L290 TraceCheckUtils]: 0: Hoare triple {12103#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12103#true} is VALID [2022-02-20 23:42:32,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {12103#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {12103#true} is VALID [2022-02-20 23:42:32,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {12103#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {12103#true} is VALID [2022-02-20 23:42:32,187 INFO L290 TraceCheckUtils]: 3: Hoare triple {12103#true} assume !(main_~length2~0#1 < 1); {12103#true} is VALID [2022-02-20 23:42:32,188 INFO L290 TraceCheckUtils]: 4: Hoare triple {12103#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {12132#(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:32,188 INFO L290 TraceCheckUtils]: 5: Hoare triple {12132#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {12132#(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:32,189 INFO L290 TraceCheckUtils]: 6: Hoare triple {12132#(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; {12139#(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:32,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {12139#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 0 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12139#(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:32,190 INFO L290 TraceCheckUtils]: 8: Hoare triple {12139#(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~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12139#(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:32,190 INFO L290 TraceCheckUtils]: 9: Hoare triple {12139#(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~nondet13#1; {12139#(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:32,190 INFO L290 TraceCheckUtils]: 10: Hoare triple {12139#(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~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12152#(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:32,191 INFO L290 TraceCheckUtils]: 11: Hoare triple {12152#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12152#(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:32,191 INFO L290 TraceCheckUtils]: 12: Hoare triple {12152#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12152#(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:32,191 INFO L290 TraceCheckUtils]: 13: Hoare triple {12152#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet13#1; {12152#(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:32,192 INFO L290 TraceCheckUtils]: 14: Hoare triple {12152#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12165#(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:32,192 INFO L290 TraceCheckUtils]: 15: Hoare triple {12165#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12165#(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:32,193 INFO L290 TraceCheckUtils]: 16: Hoare triple {12165#(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|)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12172#(and (= |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| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:32,193 INFO L290 TraceCheckUtils]: 17: Hoare triple {12172#(and (= |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| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet13#1; {12172#(and (= |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| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:32,194 INFO L290 TraceCheckUtils]: 18: Hoare triple {12172#(and (= |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| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12172#(and (= |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| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:32,194 INFO L290 TraceCheckUtils]: 19: Hoare triple {12172#(and (= |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| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {12172#(and (= |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| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:32,195 INFO L290 TraceCheckUtils]: 20: Hoare triple {12172#(and (= |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| (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: L541-4 {12172#(and (= |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| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:32,195 INFO L290 TraceCheckUtils]: 21: Hoare triple {12172#(and (= |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| (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: L545 {12188#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:32,196 INFO L290 TraceCheckUtils]: 22: Hoare triple {12188#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {12192#(and (<= |ULTIMATE.start_cstrspn_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))) 0))} is VALID [2022-02-20 23:42:32,196 INFO L290 TraceCheckUtils]: 23: Hoare triple {12192#(and (<= |ULTIMATE.start_cstrspn_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))) 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {12192#(and (<= |ULTIMATE.start_cstrspn_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))) 0))} is VALID [2022-02-20 23:42:32,197 INFO L290 TraceCheckUtils]: 24: Hoare triple {12192#(and (<= |ULTIMATE.start_cstrspn_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))) 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {12192#(and (<= |ULTIMATE.start_cstrspn_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))) 0))} is VALID [2022-02-20 23:42:32,197 INFO L290 TraceCheckUtils]: 25: Hoare triple {12192#(and (<= |ULTIMATE.start_cstrspn_~s2#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))) 0))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {12202#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,198 INFO L290 TraceCheckUtils]: 26: Hoare triple {12202#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12206#(and (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,198 INFO L290 TraceCheckUtils]: 27: Hoare triple {12206#(and (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12210#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,199 INFO L290 TraceCheckUtils]: 28: Hoare triple {12210#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12210#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,199 INFO L290 TraceCheckUtils]: 29: Hoare triple {12210#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12210#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,199 INFO L290 TraceCheckUtils]: 30: Hoare triple {12210#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12210#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,200 INFO L290 TraceCheckUtils]: 31: Hoare triple {12210#(and (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,200 INFO L290 TraceCheckUtils]: 32: Hoare triple {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,201 INFO L290 TraceCheckUtils]: 33: Hoare triple {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,201 INFO L290 TraceCheckUtils]: 34: Hoare triple {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,202 INFO L290 TraceCheckUtils]: 35: Hoare triple {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} is VALID [2022-02-20 23:42:32,202 INFO L290 TraceCheckUtils]: 36: Hoare triple {12223#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 2) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12239#(and (<= 3 (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|))) 0) (= |ULTIMATE.start_cstrspn_~spanp~0#1.base| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 2))} is VALID [2022-02-20 23:42:32,203 INFO L290 TraceCheckUtils]: 37: Hoare triple {12239#(and (<= 3 (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 2 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|))) 0) (= |ULTIMATE.start_cstrspn_~spanp~0#1.base| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 2))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12243#(and (or (not (= (+ (- 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))) (= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 3) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:32,203 INFO L290 TraceCheckUtils]: 38: Hoare triple {12243#(and (or (not (= (+ (- 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))) (= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 3) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12247#(and (or (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (not (= (+ (- 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))))) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 3) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:32,204 INFO L290 TraceCheckUtils]: 39: Hoare triple {12247#(and (or (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (not (= (+ (- 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (+ (- 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))))) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 3) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12251#(and (not (= (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 3) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:32,204 INFO L290 TraceCheckUtils]: 40: Hoare triple {12251#(and (not (= (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 3) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12251#(and (not (= (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 3) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:32,205 INFO L290 TraceCheckUtils]: 41: Hoare triple {12251#(and (not (= (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)) (<= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 3) (<= 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12258#(and (<= 3 (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (not (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|))) (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 3))} is VALID [2022-02-20 23:42:32,205 INFO L290 TraceCheckUtils]: 42: Hoare triple {12258#(and (<= 3 (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)) (<= 3 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (not (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|))) (<= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 3))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {12104#false} is VALID [2022-02-20 23:42:32,205 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 8 proven. 28 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:32,205 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:33,182 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:33,197 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 22 [2022-02-20 23:42:33,899 INFO L290 TraceCheckUtils]: 42: Hoare triple {12262#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {12104#false} is VALID [2022-02-20 23:42:33,899 INFO L290 TraceCheckUtils]: 41: Hoare triple {12266#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12262#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} is VALID [2022-02-20 23:42:33,900 INFO L290 TraceCheckUtils]: 40: Hoare triple {12266#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12266#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:33,900 INFO L290 TraceCheckUtils]: 39: Hoare triple {12273#(or (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12266#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:33,900 INFO L290 TraceCheckUtils]: 38: Hoare triple {12277#(or (= |ULTIMATE.start_cstrspn_#t~mem5#1| 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12273#(or (= |ULTIMATE.start_cstrspn_~sc~0#1| 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} is VALID [2022-02-20 23:42:33,901 INFO L290 TraceCheckUtils]: 37: Hoare triple {12281#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12277#(or (= |ULTIMATE.start_cstrspn_#t~mem5#1| 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} is VALID [2022-02-20 23:42:33,901 INFO L290 TraceCheckUtils]: 36: Hoare triple {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12281#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0) (and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|)))} is VALID [2022-02-20 23:42:33,902 INFO L290 TraceCheckUtils]: 35: Hoare triple {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:33,902 INFO L290 TraceCheckUtils]: 34: Hoare triple {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:33,903 INFO L290 TraceCheckUtils]: 33: Hoare triple {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:33,903 INFO L290 TraceCheckUtils]: 32: Hoare triple {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:33,904 INFO L290 TraceCheckUtils]: 31: Hoare triple {12301#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12285#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:33,904 INFO L290 TraceCheckUtils]: 30: Hoare triple {12301#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {12301#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:33,905 INFO L290 TraceCheckUtils]: 29: Hoare triple {12301#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {12301#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:33,905 INFO L290 TraceCheckUtils]: 28: Hoare triple {12301#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {12301#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:33,905 INFO L290 TraceCheckUtils]: 27: Hoare triple {12314#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (not (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {12301#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:33,907 INFO L290 TraceCheckUtils]: 26: Hoare triple {12318#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) (not (<= |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {12314#(or (and (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))) (not (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0))} is VALID [2022-02-20 23:42:33,907 INFO L290 TraceCheckUtils]: 25: Hoare triple {12322#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|))))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {12318#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) (not (<= |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))))} is VALID [2022-02-20 23:42:33,908 INFO L290 TraceCheckUtils]: 24: Hoare triple {12322#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|))))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {12322#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|))))} is VALID [2022-02-20 23:42:33,908 INFO L290 TraceCheckUtils]: 23: Hoare triple {12322#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|))))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {12322#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|))))} is VALID [2022-02-20 23:42:33,909 INFO L290 TraceCheckUtils]: 22: Hoare triple {12332#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (< |ULTIMATE.start_main_~nondetString2~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {12322#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (< |ULTIMATE.start_cstrspn_~s2#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|) (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|))))} is VALID [2022-02-20 23:42:33,910 INFO L290 TraceCheckUtils]: 21: Hoare triple {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {12332#(forall ((|v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| Int)) (or (<= (+ |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (not (<= 0 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ 2 |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)) 0) (< |ULTIMATE.start_main_~nondetString2~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post4#1.offset_52|)))} is VALID [2022-02-20 23:42:33,910 INFO L290 TraceCheckUtils]: 20: Hoare triple {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:33,911 INFO L290 TraceCheckUtils]: 19: Hoare triple {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:33,911 INFO L290 TraceCheckUtils]: 18: Hoare triple {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:33,912 INFO L290 TraceCheckUtils]: 17: Hoare triple {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} havoc main_#t~nondet13#1; {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:33,912 INFO L290 TraceCheckUtils]: 16: Hoare triple {12352#(or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12336#(and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:33,913 INFO L290 TraceCheckUtils]: 15: Hoare triple {12352#(or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12352#(or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,913 INFO L290 TraceCheckUtils]: 14: Hoare triple {12359#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12352#(or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~i~1#1| 1) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,914 INFO L290 TraceCheckUtils]: 13: Hoare triple {12359#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} havoc main_#t~nondet13#1; {12359#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,914 INFO L290 TraceCheckUtils]: 12: Hoare triple {12359#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12359#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,915 INFO L290 TraceCheckUtils]: 11: Hoare triple {12359#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12359#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,915 INFO L290 TraceCheckUtils]: 10: Hoare triple {12372#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {12359#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,924 INFO L290 TraceCheckUtils]: 9: Hoare triple {12372#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} havoc main_#t~nondet13#1; {12372#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,925 INFO L290 TraceCheckUtils]: 8: Hoare triple {12372#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {12372#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {12372#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {12372#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {12385#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} main_~i~1#1 := 0; {12372#(or (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3 |ULTIMATE.start_main_~i~1#1|)) (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) 3)) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))))} is VALID [2022-02-20 23:42:33,927 INFO L290 TraceCheckUtils]: 5: Hoare triple {12385#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {12385#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:42:33,928 INFO L290 TraceCheckUtils]: 4: Hoare triple {12103#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {12385#(or (and (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))) (or (< |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)) (<= 3 |ULTIMATE.start_main_~length2~0#1|))) (< (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|) (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 3)))} is VALID [2022-02-20 23:42:33,928 INFO L290 TraceCheckUtils]: 3: Hoare triple {12103#true} assume !(main_~length2~0#1 < 1); {12103#true} is VALID [2022-02-20 23:42:33,928 INFO L290 TraceCheckUtils]: 2: Hoare triple {12103#true} assume main_~length1~0#1 < 1;main_~length1~0#1 := 1; {12103#true} is VALID [2022-02-20 23:42:33,928 INFO L290 TraceCheckUtils]: 1: Hoare triple {12103#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {12103#true} is VALID [2022-02-20 23:42:33,928 INFO L290 TraceCheckUtils]: 0: Hoare triple {12103#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12103#true} is VALID [2022-02-20 23:42:33,928 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 15 proven. 21 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:33,928 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [965211259] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:33,928 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:33,928 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 17, 17] total 45 [2022-02-20 23:42:33,928 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1813283776] [2022-02-20 23:42:33,928 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:33,929 INFO L78 Accepts]: Start accepts. Automaton has has 46 states, 45 states have (on average 2.688888888888889) internal successors, (121), 46 states have internal predecessors, (121), 0 states have call successors, (0), 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:33,929 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:33,929 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 46 states, 45 states have (on average 2.688888888888889) internal successors, (121), 46 states have internal predecessors, (121), 0 states have call successors, (0), 0 states have call predecessors, (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,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 121 edges. 121 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:34,019 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 46 states [2022-02-20 23:42:34,019 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:34,020 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 46 interpolants. [2022-02-20 23:42:34,020 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=201, Invalid=1869, Unknown=0, NotChecked=0, Total=2070 [2022-02-20 23:42:34,020 INFO L87 Difference]: Start difference. First operand 226 states and 253 transitions. Second operand has 46 states, 45 states have (on average 2.688888888888889) internal successors, (121), 46 states have internal predecessors, (121), 0 states have call successors, (0), 0 states have call predecessors, (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,045 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:38,045 INFO L93 Difference]: Finished difference Result 477 states and 525 transitions. [2022-02-20 23:42:38,045 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2022-02-20 23:42:38,045 INFO L78 Accepts]: Start accepts. Automaton has has 46 states, 45 states have (on average 2.688888888888889) internal successors, (121), 46 states have internal predecessors, (121), 0 states have call successors, (0), 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:38,046 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:38,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 45 states have (on average 2.688888888888889) internal successors, (121), 46 states have internal predecessors, (121), 0 states have call successors, (0), 0 states have call predecessors, (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,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 172 transitions. [2022-02-20 23:42:38,047 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 45 states have (on average 2.688888888888889) internal successors, (121), 46 states have internal predecessors, (121), 0 states have call successors, (0), 0 states have call predecessors, (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,048 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 172 transitions. [2022-02-20 23:42:38,048 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states and 172 transitions. [2022-02-20 23:42:38,201 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 172 edges. 172 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:38,208 INFO L225 Difference]: With dead ends: 477 [2022-02-20 23:42:38,209 INFO L226 Difference]: Without dead ends: 477 [2022-02-20 23:42:38,210 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 138 GetRequests, 54 SyntacticMatches, 2 SemanticMatches, 82 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1044 ImplicationChecksByTransitivity, 2.7s TimeCoverageRelationStatistics Valid=1362, Invalid=5610, Unknown=0, NotChecked=0, Total=6972 [2022-02-20 23:42:38,210 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 758 mSDsluCounter, 639 mSDsCounter, 0 mSdLazyCounter, 837 mSolverCounterSat, 141 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 758 SdHoareTripleChecker+Valid, 675 SdHoareTripleChecker+Invalid, 1065 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 141 IncrementalHoareTripleChecker+Valid, 837 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 87 IncrementalHoareTripleChecker+Unchecked, 0.8s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:38,210 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [758 Valid, 675 Invalid, 1065 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [141 Valid, 837 Invalid, 0 Unknown, 87 Unchecked, 0.8s Time] [2022-02-20 23:42:38,211 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 477 states. [2022-02-20 23:42:38,215 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 477 to 329. [2022-02-20 23:42:38,215 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:38,215 INFO L82 GeneralOperation]: Start isEquivalent. First operand 477 states. Second operand has 329 states, 327 states have (on average 1.143730886850153) internal successors, (374), 328 states have internal predecessors, (374), 0 states have call successors, (0), 0 states have call predecessors, (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,216 INFO L74 IsIncluded]: Start isIncluded. First operand 477 states. Second operand has 329 states, 327 states have (on average 1.143730886850153) internal successors, (374), 328 states have internal predecessors, (374), 0 states have call successors, (0), 0 states have call predecessors, (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,216 INFO L87 Difference]: Start difference. First operand 477 states. Second operand has 329 states, 327 states have (on average 1.143730886850153) internal successors, (374), 328 states have internal predecessors, (374), 0 states have call successors, (0), 0 states have call predecessors, (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,223 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:38,224 INFO L93 Difference]: Finished difference Result 477 states and 525 transitions. [2022-02-20 23:42:38,224 INFO L276 IsEmpty]: Start isEmpty. Operand 477 states and 525 transitions. [2022-02-20 23:42:38,224 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:38,225 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:38,225 INFO L74 IsIncluded]: Start isIncluded. First operand has 329 states, 327 states have (on average 1.143730886850153) internal successors, (374), 328 states have internal predecessors, (374), 0 states have call successors, (0), 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 477 states. [2022-02-20 23:42:38,225 INFO L87 Difference]: Start difference. First operand has 329 states, 327 states have (on average 1.143730886850153) internal successors, (374), 328 states have internal predecessors, (374), 0 states have call successors, (0), 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 477 states. [2022-02-20 23:42:38,233 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:38,233 INFO L93 Difference]: Finished difference Result 477 states and 525 transitions. [2022-02-20 23:42:38,233 INFO L276 IsEmpty]: Start isEmpty. Operand 477 states and 525 transitions. [2022-02-20 23:42:38,234 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:38,234 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:38,234 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:38,234 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:38,235 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 329 states, 327 states have (on average 1.143730886850153) internal successors, (374), 328 states have internal predecessors, (374), 0 states have call successors, (0), 0 states have call predecessors, (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,239 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 329 states to 329 states and 374 transitions. [2022-02-20 23:42:38,239 INFO L78 Accepts]: Start accepts. Automaton has 329 states and 374 transitions. Word has length 43 [2022-02-20 23:42:38,239 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:38,240 INFO L470 AbstractCegarLoop]: Abstraction has 329 states and 374 transitions. [2022-02-20 23:42:38,240 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 46 states, 45 states have (on average 2.688888888888889) internal successors, (121), 46 states have internal predecessors, (121), 0 states have call successors, (0), 0 states have call predecessors, (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,240 INFO L276 IsEmpty]: Start isEmpty. Operand 329 states and 374 transitions. [2022-02-20 23:42:38,240 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 47 [2022-02-20 23:42:38,240 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:38,240 INFO L514 BasicCegarLoop]: trace histogram [4, 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] [2022-02-20 23:42:38,258 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:38,455 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,SelfDestructingSolverStorable27 [2022-02-20 23:42:38,455 INFO L402 AbstractCegarLoop]: === Iteration 29 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:38,455 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:38,456 INFO L85 PathProgramCache]: Analyzing trace with hash 1110333548, now seen corresponding path program 2 times [2022-02-20 23:42:38,456 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:38,456 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [459139007] [2022-02-20 23:42:38,456 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:38,456 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:38,499 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:38,636 INFO L290 TraceCheckUtils]: 0: Hoare triple {14242#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14242#true} is VALID [2022-02-20 23:42:38,636 INFO L290 TraceCheckUtils]: 1: Hoare triple {14242#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {14242#true} is VALID [2022-02-20 23:42:38,636 INFO L290 TraceCheckUtils]: 2: Hoare triple {14242#true} assume !(main_~length1~0#1 < 1); {14242#true} is VALID [2022-02-20 23:42:38,636 INFO L290 TraceCheckUtils]: 3: Hoare triple {14242#true} assume !(main_~length2~0#1 < 1); {14242#true} is VALID [2022-02-20 23:42:38,637 INFO L290 TraceCheckUtils]: 4: Hoare triple {14242#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {14244#(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,637 INFO L290 TraceCheckUtils]: 5: Hoare triple {14244#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {14244#(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,638 INFO L290 TraceCheckUtils]: 6: Hoare triple {14244#(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~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {14244#(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,638 INFO L290 TraceCheckUtils]: 7: Hoare triple {14244#(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~nondet11#1; {14244#(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,638 INFO L290 TraceCheckUtils]: 8: Hoare triple {14244#(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~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {14244#(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,639 INFO L290 TraceCheckUtils]: 9: Hoare triple {14244#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {14244#(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,639 INFO L290 TraceCheckUtils]: 10: Hoare triple {14244#(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; {14245#(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,639 INFO L290 TraceCheckUtils]: 11: Hoare triple {14245#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {14245#(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,640 INFO L290 TraceCheckUtils]: 12: Hoare triple {14245#(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~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {14245#(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,640 INFO L290 TraceCheckUtils]: 13: Hoare triple {14245#(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~nondet13#1; {14245#(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,640 INFO L290 TraceCheckUtils]: 14: Hoare triple {14245#(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~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {14246#(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,641 INFO L290 TraceCheckUtils]: 15: Hoare triple {14246#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:38,641 INFO L290 TraceCheckUtils]: 16: Hoare triple {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:38,642 INFO L290 TraceCheckUtils]: 17: Hoare triple {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} havoc main_#t~nondet13#1; {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:38,642 INFO L290 TraceCheckUtils]: 18: Hoare triple {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:38,642 INFO L290 TraceCheckUtils]: 19: Hoare triple {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:38,643 INFO L290 TraceCheckUtils]: 20: Hoare triple {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} is VALID [2022-02-20 23:42:38,643 INFO L290 TraceCheckUtils]: 21: Hoare triple {14247#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {14248#(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:38,644 INFO L290 TraceCheckUtils]: 22: Hoare triple {14248#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= 3 (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,644 INFO L290 TraceCheckUtils]: 23: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,644 INFO L290 TraceCheckUtils]: 24: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,645 INFO L290 TraceCheckUtils]: 25: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,645 INFO L290 TraceCheckUtils]: 26: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,646 INFO L290 TraceCheckUtils]: 27: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,646 INFO L290 TraceCheckUtils]: 28: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,646 INFO L290 TraceCheckUtils]: 29: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,647 INFO L290 TraceCheckUtils]: 30: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,647 INFO L290 TraceCheckUtils]: 31: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,647 INFO L290 TraceCheckUtils]: 32: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} is VALID [2022-02-20 23:42:38,648 INFO L290 TraceCheckUtils]: 33: Hoare triple {14249#(and (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|) (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {14250#(and (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:42:38,648 INFO L290 TraceCheckUtils]: 34: Hoare triple {14250#(and (<= 3 (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14251#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} is VALID [2022-02-20 23:42:38,649 INFO L290 TraceCheckUtils]: 35: Hoare triple {14251#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:38,649 INFO L290 TraceCheckUtils]: 36: Hoare triple {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:38,649 INFO L290 TraceCheckUtils]: 37: Hoare triple {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:38,650 INFO L290 TraceCheckUtils]: 38: Hoare triple {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:38,650 INFO L290 TraceCheckUtils]: 39: Hoare triple {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:38,650 INFO L290 TraceCheckUtils]: 40: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:38,651 INFO L290 TraceCheckUtils]: 41: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:38,651 INFO L290 TraceCheckUtils]: 42: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:38,651 INFO L290 TraceCheckUtils]: 43: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:38,652 INFO L290 TraceCheckUtils]: 44: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14254#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} is VALID [2022-02-20 23:42:38,652 INFO L290 TraceCheckUtils]: 45: Hoare triple {14254#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {14243#false} is VALID [2022-02-20 23:42:38,653 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 0 proven. 27 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:42:38,653 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:38,653 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [459139007] [2022-02-20 23:42:38,653 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [459139007] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:38,653 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [715299949] [2022-02-20 23:42:38,653 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:42:38,653 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:38,653 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:38,654 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:38,654 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:38,739 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:42:38,739 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:38,740 INFO L263 TraceCheckSpWp]: Trace formula consists of 236 conjuncts, 36 conjunts are in the unsatisfiable core [2022-02-20 23:42:38,752 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:38,753 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 0: Hoare triple {14242#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 1: Hoare triple {14242#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 2: Hoare triple {14242#true} assume !(main_~length1~0#1 < 1); {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 3: Hoare triple {14242#true} assume !(main_~length2~0#1 < 1); {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 4: Hoare triple {14242#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 5: Hoare triple {14242#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 6: Hoare triple {14242#true} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 7: Hoare triple {14242#true} havoc main_#t~nondet11#1; {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 8: Hoare triple {14242#true} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {14242#true} is VALID [2022-02-20 23:42:39,099 INFO L290 TraceCheckUtils]: 9: Hoare triple {14242#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {14242#true} is VALID [2022-02-20 23:42:39,100 INFO L290 TraceCheckUtils]: 10: Hoare triple {14242#true} main_~i~1#1 := 0; {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,100 INFO L290 TraceCheckUtils]: 11: Hoare triple {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,100 INFO L290 TraceCheckUtils]: 12: Hoare triple {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,100 INFO L290 TraceCheckUtils]: 13: Hoare triple {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet13#1; {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,101 INFO L290 TraceCheckUtils]: 14: Hoare triple {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {14301#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,101 INFO L290 TraceCheckUtils]: 15: Hoare triple {14301#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,101 INFO L290 TraceCheckUtils]: 16: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,102 INFO L290 TraceCheckUtils]: 17: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet13#1; {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,102 INFO L290 TraceCheckUtils]: 18: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,102 INFO L290 TraceCheckUtils]: 19: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,102 INFO L290 TraceCheckUtils]: 20: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,103 INFO L290 TraceCheckUtils]: 21: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {14324#(< (+ |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,103 INFO L290 TraceCheckUtils]: 22: Hoare triple {14324#(< (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| 2) (select |#length| |ULTIMATE.start_main_~nondetString2~0#1.base|))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,104 INFO L290 TraceCheckUtils]: 23: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,104 INFO L290 TraceCheckUtils]: 24: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,104 INFO L290 TraceCheckUtils]: 25: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,105 INFO L290 TraceCheckUtils]: 26: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,105 INFO L290 TraceCheckUtils]: 27: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,105 INFO L290 TraceCheckUtils]: 28: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,106 INFO L290 TraceCheckUtils]: 29: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,106 INFO L290 TraceCheckUtils]: 30: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,106 INFO L290 TraceCheckUtils]: 31: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,107 INFO L290 TraceCheckUtils]: 32: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:39,107 INFO L290 TraceCheckUtils]: 33: Hoare triple {14328#(< (+ 2 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {14362#(< (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))} is VALID [2022-02-20 23:42:39,107 INFO L290 TraceCheckUtils]: 34: Hoare triple {14362#(< (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14366#(and (< (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,108 INFO L290 TraceCheckUtils]: 35: Hoare triple {14366#(and (< (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 2) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,108 INFO L290 TraceCheckUtils]: 36: Hoare triple {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,109 INFO L290 TraceCheckUtils]: 37: Hoare triple {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,109 INFO L290 TraceCheckUtils]: 38: Hoare triple {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,110 INFO L290 TraceCheckUtils]: 39: Hoare triple {14252#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 1 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:39,110 INFO L290 TraceCheckUtils]: 40: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:39,110 INFO L290 TraceCheckUtils]: 41: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:39,111 INFO L290 TraceCheckUtils]: 42: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:39,111 INFO L290 TraceCheckUtils]: 43: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} is VALID [2022-02-20 23:42:39,112 INFO L290 TraceCheckUtils]: 44: Hoare triple {14253#(and (<= 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14254#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} is VALID [2022-02-20 23:42:39,112 INFO L290 TraceCheckUtils]: 45: Hoare triple {14254#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {14243#false} is VALID [2022-02-20 23:42:39,112 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 1 proven. 26 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:42:39,112 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:39,468 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:39,542 INFO L290 TraceCheckUtils]: 45: Hoare triple {14400#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {14243#false} is VALID [2022-02-20 23:42:39,543 INFO L290 TraceCheckUtils]: 44: Hoare triple {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14400#(and (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|) (<= (+ |ULTIMATE.start_cstrspn_#t~post4#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post4#1.base|)))} is VALID [2022-02-20 23:42:39,543 INFO L290 TraceCheckUtils]: 43: Hoare triple {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,544 INFO L290 TraceCheckUtils]: 42: Hoare triple {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,544 INFO L290 TraceCheckUtils]: 41: Hoare triple {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,544 INFO L290 TraceCheckUtils]: 40: Hoare triple {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,545 INFO L290 TraceCheckUtils]: 39: Hoare triple {14420#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14404#(and (<= (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|))} is VALID [2022-02-20 23:42:39,545 INFO L290 TraceCheckUtils]: 38: Hoare triple {14420#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)))} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {14420#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)))} is VALID [2022-02-20 23:42:39,546 INFO L290 TraceCheckUtils]: 37: Hoare triple {14420#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14420#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)))} is VALID [2022-02-20 23:42:39,546 INFO L290 TraceCheckUtils]: 36: Hoare triple {14420#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14420#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)))} is VALID [2022-02-20 23:42:39,547 INFO L290 TraceCheckUtils]: 35: Hoare triple {14433#(or (not (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|)) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14420#(and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)))} is VALID [2022-02-20 23:42:39,547 INFO L290 TraceCheckUtils]: 34: Hoare triple {14437#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14433#(or (not (<= 0 |ULTIMATE.start_cstrspn_#t~post4#1.offset|)) (and (<= (+ 2 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (<= 0 (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1))))} is VALID [2022-02-20 23:42:39,548 INFO L290 TraceCheckUtils]: 33: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {14437#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~spanp~0#1.base|)) (< |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:42:39,548 INFO L290 TraceCheckUtils]: 32: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,549 INFO L290 TraceCheckUtils]: 31: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,549 INFO L290 TraceCheckUtils]: 30: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,549 INFO L290 TraceCheckUtils]: 29: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,550 INFO L290 TraceCheckUtils]: 28: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,550 INFO L290 TraceCheckUtils]: 27: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,551 INFO L290 TraceCheckUtils]: 26: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,551 INFO L290 TraceCheckUtils]: 25: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,552 INFO L290 TraceCheckUtils]: 24: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,552 INFO L290 TraceCheckUtils]: 23: Hoare triple {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,553 INFO L290 TraceCheckUtils]: 22: Hoare triple {14475#(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_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {14441#(or (<= (+ 3 |ULTIMATE.start_cstrspn_~s2#1.offset|) (select |#length| |ULTIMATE.start_cstrspn_~s2#1.base|)) (< |ULTIMATE.start_cstrspn_~s2#1.offset| 0))} is VALID [2022-02-20 23:42:39,553 INFO L290 TraceCheckUtils]: 21: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {14475#(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:39,553 INFO L290 TraceCheckUtils]: 20: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,554 INFO L290 TraceCheckUtils]: 19: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,554 INFO L290 TraceCheckUtils]: 18: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,554 INFO L290 TraceCheckUtils]: 17: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} havoc main_#t~nondet13#1; {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,555 INFO L290 TraceCheckUtils]: 16: Hoare triple {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,555 INFO L290 TraceCheckUtils]: 15: Hoare triple {14301#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {14305#(< 2 |ULTIMATE.start_main_~length2~0#1|)} is VALID [2022-02-20 23:42:39,555 INFO L290 TraceCheckUtils]: 14: Hoare triple {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {14301#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,556 INFO L290 TraceCheckUtils]: 13: Hoare triple {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~nondet13#1; {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,556 INFO L290 TraceCheckUtils]: 12: Hoare triple {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,556 INFO L290 TraceCheckUtils]: 11: Hoare triple {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,557 INFO L290 TraceCheckUtils]: 10: Hoare triple {14242#true} main_~i~1#1 := 0; {14288#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:42:39,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {14242#true} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {14242#true} is VALID [2022-02-20 23:42:39,557 INFO L290 TraceCheckUtils]: 8: Hoare triple {14242#true} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {14242#true} is VALID [2022-02-20 23:42:39,557 INFO L290 TraceCheckUtils]: 7: Hoare triple {14242#true} havoc main_#t~nondet11#1; {14242#true} is VALID [2022-02-20 23:42:39,557 INFO L290 TraceCheckUtils]: 6: Hoare triple {14242#true} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {14242#true} is VALID [2022-02-20 23:42:39,557 INFO L290 TraceCheckUtils]: 5: Hoare triple {14242#true} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {14242#true} is VALID [2022-02-20 23:42:39,557 INFO L290 TraceCheckUtils]: 4: Hoare triple {14242#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {14242#true} is VALID [2022-02-20 23:42:39,557 INFO L290 TraceCheckUtils]: 3: Hoare triple {14242#true} assume !(main_~length2~0#1 < 1); {14242#true} is VALID [2022-02-20 23:42:39,558 INFO L290 TraceCheckUtils]: 2: Hoare triple {14242#true} assume !(main_~length1~0#1 < 1); {14242#true} is VALID [2022-02-20 23:42:39,558 INFO L290 TraceCheckUtils]: 1: Hoare triple {14242#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {14242#true} is VALID [2022-02-20 23:42:39,558 INFO L290 TraceCheckUtils]: 0: Hoare triple {14242#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14242#true} is VALID [2022-02-20 23:42:39,558 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 1 proven. 26 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-02-20 23:42:39,558 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [715299949] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:39,558 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:39,558 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 11, 11] total 26 [2022-02-20 23:42:39,558 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1060273815] [2022-02-20 23:42:39,559 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:39,559 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 26 states have (on average 3.730769230769231) internal successors, (97), 27 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 46 [2022-02-20 23:42:39,559 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:39,559 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 27 states, 26 states have (on average 3.730769230769231) internal successors, (97), 27 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:39,623 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:39,623 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-02-20 23:42:39,623 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:39,623 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-02-20 23:42:39,624 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=85, Invalid=617, Unknown=0, NotChecked=0, Total=702 [2022-02-20 23:42:39,624 INFO L87 Difference]: Start difference. First operand 329 states and 374 transitions. Second operand has 27 states, 26 states have (on average 3.730769230769231) internal successors, (97), 27 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:40,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,467 INFO L93 Difference]: Finished difference Result 437 states and 489 transitions. [2022-02-20 23:42:40,467 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-02-20 23:42:40,467 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 26 states have (on average 3.730769230769231) internal successors, (97), 27 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 46 [2022-02-20 23:42:40,468 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:40,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 26 states have (on average 3.730769230769231) internal successors, (97), 27 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:40,468 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 74 transitions. [2022-02-20 23:42:40,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 26 states have (on average 3.730769230769231) internal successors, (97), 27 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:40,469 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 74 transitions. [2022-02-20 23:42:40,469 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 15 states and 74 transitions. [2022-02-20 23:42:40,525 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:40,531 INFO L225 Difference]: With dead ends: 437 [2022-02-20 23:42:40,531 INFO L226 Difference]: Without dead ends: 437 [2022-02-20 23:42:40,531 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 112 GetRequests, 75 SyntacticMatches, 2 SemanticMatches, 35 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 234 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=264, Invalid=1068, Unknown=0, NotChecked=0, Total=1332 [2022-02-20 23:42:40,532 INFO L933 BasicCegarLoop]: 26 mSDtfsCounter, 198 mSDsluCounter, 246 mSDsCounter, 0 mSdLazyCounter, 306 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 198 SdHoareTripleChecker+Valid, 272 SdHoareTripleChecker+Invalid, 331 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 306 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:40,532 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [198 Valid, 272 Invalid, 331 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 306 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:42:40,532 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 437 states. [2022-02-20 23:42:40,536 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 437 to 339. [2022-02-20 23:42:40,536 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:40,536 INFO L82 GeneralOperation]: Start isEquivalent. First operand 437 states. Second operand has 339 states, 337 states have (on average 1.1454005934718101) internal successors, (386), 338 states have internal predecessors, (386), 0 states have call successors, (0), 0 states have call predecessors, (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,537 INFO L74 IsIncluded]: Start isIncluded. First operand 437 states. Second operand has 339 states, 337 states have (on average 1.1454005934718101) internal successors, (386), 338 states have internal predecessors, (386), 0 states have call successors, (0), 0 states have call predecessors, (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,537 INFO L87 Difference]: Start difference. First operand 437 states. Second operand has 339 states, 337 states have (on average 1.1454005934718101) internal successors, (386), 338 states have internal predecessors, (386), 0 states have call successors, (0), 0 states have call predecessors, (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,543 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,543 INFO L93 Difference]: Finished difference Result 437 states and 489 transitions. [2022-02-20 23:42:40,543 INFO L276 IsEmpty]: Start isEmpty. Operand 437 states and 489 transitions. [2022-02-20 23:42:40,544 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:40,544 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:40,544 INFO L74 IsIncluded]: Start isIncluded. First operand has 339 states, 337 states have (on average 1.1454005934718101) internal successors, (386), 338 states have internal predecessors, (386), 0 states have call successors, (0), 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 437 states. [2022-02-20 23:42:40,545 INFO L87 Difference]: Start difference. First operand has 339 states, 337 states have (on average 1.1454005934718101) internal successors, (386), 338 states have internal predecessors, (386), 0 states have call successors, (0), 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 437 states. [2022-02-20 23:42:40,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:40,551 INFO L93 Difference]: Finished difference Result 437 states and 489 transitions. [2022-02-20 23:42:40,551 INFO L276 IsEmpty]: Start isEmpty. Operand 437 states and 489 transitions. [2022-02-20 23:42:40,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:40,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:40,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:40,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:40,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 339 states, 337 states have (on average 1.1454005934718101) internal successors, (386), 338 states have internal predecessors, (386), 0 states have call successors, (0), 0 states have call predecessors, (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,556 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 339 states to 339 states and 386 transitions. [2022-02-20 23:42:40,556 INFO L78 Accepts]: Start accepts. Automaton has 339 states and 386 transitions. Word has length 46 [2022-02-20 23:42:40,556 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:40,556 INFO L470 AbstractCegarLoop]: Abstraction has 339 states and 386 transitions. [2022-02-20 23:42:40,557 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 26 states have (on average 3.730769230769231) internal successors, (97), 27 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:40,557 INFO L276 IsEmpty]: Start isEmpty. Operand 339 states and 386 transitions. [2022-02-20 23:42:40,557 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 23:42:40,557 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:40,557 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:40,574 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Ended with exit code 0 [2022-02-20 23:42:40,771 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,SelfDestructingSolverStorable28 [2022-02-20 23:42:40,771 INFO L402 AbstractCegarLoop]: === Iteration 30 === Targeting ULTIMATE.startErr9REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:40,771 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:40,772 INFO L85 PathProgramCache]: Analyzing trace with hash -1252507090, now seen corresponding path program 4 times [2022-02-20 23:42:40,772 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:40,772 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1654257227] [2022-02-20 23:42:40,772 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:40,772 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:40,804 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:41,282 INFO L290 TraceCheckUtils]: 0: Hoare triple {16211#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16211#true} is VALID [2022-02-20 23:42:41,282 INFO L290 TraceCheckUtils]: 1: Hoare triple {16211#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {16211#true} is VALID [2022-02-20 23:42:41,282 INFO L290 TraceCheckUtils]: 2: Hoare triple {16211#true} assume !(main_~length1~0#1 < 1); {16211#true} is VALID [2022-02-20 23:42:41,282 INFO L290 TraceCheckUtils]: 3: Hoare triple {16211#true} assume !(main_~length2~0#1 < 1); {16211#true} is VALID [2022-02-20 23:42:41,283 INFO L290 TraceCheckUtils]: 4: Hoare triple {16211#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {16213#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:41,283 INFO L290 TraceCheckUtils]: 5: Hoare triple {16213#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|)))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {16213#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:41,284 INFO L290 TraceCheckUtils]: 6: Hoare triple {16213#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {16213#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:41,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {16213#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|)))} havoc main_#t~nondet11#1; {16213#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:41,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {16213#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ |ULTIMATE.start_main_~length2~0#1| 2) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|)))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {16214#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1| 1) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| 1) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,286 INFO L290 TraceCheckUtils]: 9: Hoare triple {16214#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1| 1) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1| 1) (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1|))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {16215#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1| 1) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:41,287 INFO L290 TraceCheckUtils]: 10: Hoare triple {16215#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1| 1) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {16215#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1| 1) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:41,288 INFO L290 TraceCheckUtils]: 11: Hoare triple {16215#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1| 1) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)))} havoc main_#t~nondet11#1; {16215#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1| 1) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:41,289 INFO L290 TraceCheckUtils]: 12: Hoare triple {16215#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1| 1) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {16216#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:41,289 INFO L290 TraceCheckUtils]: 13: Hoare triple {16216#(and (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~length2~0#1| |ULTIMATE.start_main_~i~0#1|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {16217#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,290 INFO L290 TraceCheckUtils]: 14: Hoare triple {16217#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_~i~1#1 := 0; {16218#(and (= |ULTIMATE.start_main_~i~1#1| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,291 INFO L290 TraceCheckUtils]: 15: Hoare triple {16218#(and (= |ULTIMATE.start_main_~i~1#1| 0) (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 1))) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {16219#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,291 INFO L290 TraceCheckUtils]: 16: Hoare triple {16219#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {16219#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,292 INFO L290 TraceCheckUtils]: 17: Hoare triple {16219#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet13#1; {16219#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,292 INFO L290 TraceCheckUtils]: 18: Hoare triple {16219#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (+ 2 |ULTIMATE.start_main_~i~1#1|) |ULTIMATE.start_main_~length2~0#1|) (= |ULTIMATE.start_main_~length2~0#1| (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| 3) |ULTIMATE.start_main_~length2~0#1|)) (= |ULTIMATE.start_main_~i~1#1| 0) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {16220#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|) 1))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} is VALID [2022-02-20 23:42:41,293 INFO L290 TraceCheckUtils]: 19: Hoare triple {16220#(and (or (and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) (+ |ULTIMATE.start_main_~length2~0#1| (* (- 1) |ULTIMATE.start_main_~i~1#1|) 1))) (< (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length2~0#1|))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {16221#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))} is VALID [2022-02-20 23:42:41,293 INFO L290 TraceCheckUtils]: 20: Hoare triple {16221#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (= (+ (- 1) |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 2))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {16222#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 2) 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,294 INFO L290 TraceCheckUtils]: 21: Hoare triple {16222#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 2) 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {16222#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 2) 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,295 INFO L290 TraceCheckUtils]: 22: Hoare triple {16222#(and (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) 2) 0) (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {16223#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 2) 0) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} is VALID [2022-02-20 23:42:41,303 INFO L290 TraceCheckUtils]: 23: Hoare triple {16223#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) 2) 0) (= |ULTIMATE.start_cstrspn_~p~0#1.offset| 0))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16224#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| (* (- 1) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 1)) 0) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} is VALID [2022-02-20 23:42:41,304 INFO L290 TraceCheckUtils]: 24: Hoare triple {16224#(and (= |ULTIMATE.start_cstrspn_#t~post2#1.base| |ULTIMATE.start_cstrspn_~p~0#1.base|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| (* (- 1) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 1)) 0) (= |ULTIMATE.start_cstrspn_#t~post2#1.offset| 0))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:41,304 INFO L290 TraceCheckUtils]: 25: Hoare triple {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:41,305 INFO L290 TraceCheckUtils]: 26: Hoare triple {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:41,305 INFO L290 TraceCheckUtils]: 27: Hoare triple {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:41,305 INFO L290 TraceCheckUtils]: 28: Hoare triple {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:41,306 INFO L290 TraceCheckUtils]: 29: Hoare triple {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:41,306 INFO L290 TraceCheckUtils]: 30: Hoare triple {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:41,306 INFO L290 TraceCheckUtils]: 31: Hoare triple {16225#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) 0)} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16226#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:41,307 INFO L290 TraceCheckUtils]: 32: Hoare triple {16226#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16226#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} is VALID [2022-02-20 23:42:41,307 INFO L290 TraceCheckUtils]: 33: Hoare triple {16226#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16227#(and (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| |ULTIMATE.start_cstrspn_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (= |ULTIMATE.start_cstrspn_~spanp~0#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|))} is VALID [2022-02-20 23:42:41,308 INFO L290 TraceCheckUtils]: 34: Hoare triple {16227#(and (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| |ULTIMATE.start_cstrspn_~s2#1.offset|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (= |ULTIMATE.start_cstrspn_~spanp~0#1.base| |ULTIMATE.start_cstrspn_~s2#1.base|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16228#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (= |ULTIMATE.start_cstrspn_~s2#1.base| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:41,308 INFO L290 TraceCheckUtils]: 35: Hoare triple {16228#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (= |ULTIMATE.start_cstrspn_~s2#1.base| |ULTIMATE.start_cstrspn_#t~post4#1.base|) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16229#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (= |ULTIMATE.start_cstrspn_#t~mem5#1| (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} is VALID [2022-02-20 23:42:41,309 INFO L290 TraceCheckUtils]: 36: Hoare triple {16229#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0) (= |ULTIMATE.start_cstrspn_#t~mem5#1| (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16230#(and (= |ULTIMATE.start_cstrspn_~sc~0#1| (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0))} is VALID [2022-02-20 23:42:41,309 INFO L290 TraceCheckUtils]: 37: Hoare triple {16230#(and (= |ULTIMATE.start_cstrspn_~sc~0#1| (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) 0))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16231#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} is VALID [2022-02-20 23:42:41,309 INFO L290 TraceCheckUtils]: 38: Hoare triple {16231#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16231#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} is VALID [2022-02-20 23:42:41,310 INFO L290 TraceCheckUtils]: 39: Hoare triple {16231#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_cstrspn_~p~0#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16232#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} is VALID [2022-02-20 23:42:41,310 INFO L290 TraceCheckUtils]: 40: Hoare triple {16232#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16233#(not (= |ULTIMATE.start_cstrspn_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} is VALID [2022-02-20 23:42:41,311 INFO L290 TraceCheckUtils]: 41: Hoare triple {16233#(not (= |ULTIMATE.start_cstrspn_#t~mem3#1| (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) |ULTIMATE.start_cstrspn_~s2#1.offset|)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16234#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:41,311 INFO L290 TraceCheckUtils]: 42: Hoare triple {16234#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) |ULTIMATE.start_cstrspn_~c~0#1|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16235#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:41,311 INFO L290 TraceCheckUtils]: 43: Hoare triple {16235#(not (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) |ULTIMATE.start_cstrspn_~c~0#1|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16236#(not (= |ULTIMATE.start_cstrspn_#t~mem5#1| |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:41,312 INFO L290 TraceCheckUtils]: 44: Hoare triple {16236#(not (= |ULTIMATE.start_cstrspn_#t~mem5#1| |ULTIMATE.start_cstrspn_~c~0#1|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16237#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:41,312 INFO L290 TraceCheckUtils]: 45: Hoare triple {16237#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16237#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:41,312 INFO L290 TraceCheckUtils]: 46: Hoare triple {16237#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16212#false} is VALID [2022-02-20 23:42:41,312 INFO L290 TraceCheckUtils]: 47: Hoare triple {16212#false} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16212#false} is VALID [2022-02-20 23:42:41,312 INFO L290 TraceCheckUtils]: 48: Hoare triple {16212#false} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {16212#false} is VALID [2022-02-20 23:42:41,313 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 6 proven. 31 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:42:41,313 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:41,313 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1654257227] [2022-02-20 23:42:41,313 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1654257227] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:41,313 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1559861607] [2022-02-20 23:42:41,313 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:42:41,313 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:41,314 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:41,315 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:41,329 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:41,395 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:42:41,395 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:41,397 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 54 conjunts are in the unsatisfiable core [2022-02-20 23:42:41,411 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:41,411 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:41,458 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:41,469 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:41,790 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 13 treesize of output 9 [2022-02-20 23:42:41,928 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 16 treesize of output 18 [2022-02-20 23:42:43,445 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:42:43,446 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:43,567 INFO L290 TraceCheckUtils]: 0: Hoare triple {16211#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16211#true} is VALID [2022-02-20 23:42:43,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {16211#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {16211#true} is VALID [2022-02-20 23:42:43,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {16211#true} assume !(main_~length1~0#1 < 1); {16211#true} is VALID [2022-02-20 23:42:43,567 INFO L290 TraceCheckUtils]: 3: Hoare triple {16211#true} assume !(main_~length2~0#1 < 1); {16211#true} is VALID [2022-02-20 23:42:43,568 INFO L290 TraceCheckUtils]: 4: Hoare triple {16211#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {16253#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:43,569 INFO L290 TraceCheckUtils]: 5: Hoare triple {16253#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {16253#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:43,569 INFO L290 TraceCheckUtils]: 6: Hoare triple {16253#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {16253#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:43,569 INFO L290 TraceCheckUtils]: 7: Hoare triple {16253#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} havoc main_#t~nondet11#1; {16253#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:43,570 INFO L290 TraceCheckUtils]: 8: Hoare triple {16253#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= |ULTIMATE.start_main_~i~0#1| 0) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {16266#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:43,570 INFO L290 TraceCheckUtils]: 9: Hoare triple {16266#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {16266#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:43,571 INFO L290 TraceCheckUtils]: 10: Hoare triple {16266#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {16266#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:43,571 INFO L290 TraceCheckUtils]: 11: Hoare triple {16266#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} havoc main_#t~nondet11#1; {16266#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} is VALID [2022-02-20 23:42:43,572 INFO L290 TraceCheckUtils]: 12: Hoare triple {16266#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~i~0#1| 1))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {16279#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} is VALID [2022-02-20 23:42:43,572 INFO L290 TraceCheckUtils]: 13: Hoare triple {16279#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~i~0#1| 2) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:42:43,573 INFO L290 TraceCheckUtils]: 14: Hoare triple {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} main_~i~1#1 := 0; {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:42:43,573 INFO L290 TraceCheckUtils]: 15: Hoare triple {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:42:43,573 INFO L290 TraceCheckUtils]: 16: Hoare triple {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:42:43,574 INFO L290 TraceCheckUtils]: 17: Hoare triple {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} havoc main_#t~nondet13#1; {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:42:43,574 INFO L290 TraceCheckUtils]: 18: Hoare triple {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:42:43,575 INFO L290 TraceCheckUtils]: 19: Hoare triple {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} is VALID [2022-02-20 23:42:43,575 INFO L290 TraceCheckUtils]: 20: Hoare triple {16283#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= |ULTIMATE.start_main_~nondetString1~0#1.offset| 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {16305#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0))))} is VALID [2022-02-20 23:42:43,576 INFO L290 TraceCheckUtils]: 21: Hoare triple {16305#(and (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0))))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {16309#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0)))} is VALID [2022-02-20 23:42:43,577 INFO L290 TraceCheckUtils]: 22: Hoare triple {16309#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (<= |ULTIMATE.start_main_~length1~0#1| 3) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {16313#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3)))} is VALID [2022-02-20 23:42:43,578 INFO L290 TraceCheckUtils]: 23: Hoare triple {16313#(exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16317#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,578 INFO L290 TraceCheckUtils]: 24: Hoare triple {16317#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,579 INFO L290 TraceCheckUtils]: 25: Hoare triple {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,580 INFO L290 TraceCheckUtils]: 26: Hoare triple {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,580 INFO L290 TraceCheckUtils]: 27: Hoare triple {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,592 INFO L290 TraceCheckUtils]: 28: Hoare triple {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,593 INFO L290 TraceCheckUtils]: 29: Hoare triple {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,594 INFO L290 TraceCheckUtils]: 30: Hoare triple {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,595 INFO L290 TraceCheckUtils]: 31: Hoare triple {16321#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 1 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,595 INFO L290 TraceCheckUtils]: 32: Hoare triple {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,596 INFO L290 TraceCheckUtils]: 33: Hoare triple {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,597 INFO L290 TraceCheckUtils]: 34: Hoare triple {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,597 INFO L290 TraceCheckUtils]: 35: Hoare triple {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,598 INFO L290 TraceCheckUtils]: 36: Hoare triple {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,598 INFO L290 TraceCheckUtils]: 37: Hoare triple {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,599 INFO L290 TraceCheckUtils]: 38: Hoare triple {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} is VALID [2022-02-20 23:42:43,600 INFO L290 TraceCheckUtils]: 39: Hoare triple {16343#(and (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|))) (<= |ULTIMATE.start_main_~length1~0#1| 3))) (<= 2 |ULTIMATE.start_cstrspn_~p~0#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16368#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))))} is VALID [2022-02-20 23:42:43,600 INFO L290 TraceCheckUtils]: 40: Hoare triple {16368#(and (<= 2 |ULTIMATE.start_cstrspn_#t~post2#1.offset|) (exists ((|ULTIMATE.start_main_~length1~0#1| Int)) (and (<= (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_main_~length1~0#1|) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) (+ (- 1) |ULTIMATE.start_main_~length1~0#1|)) 0) (<= |ULTIMATE.start_main_~length1~0#1| 3))))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16372#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:43,601 INFO L290 TraceCheckUtils]: 41: Hoare triple {16372#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:43,601 INFO L290 TraceCheckUtils]: 42: Hoare triple {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:43,601 INFO L290 TraceCheckUtils]: 43: Hoare triple {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:43,601 INFO L290 TraceCheckUtils]: 44: Hoare triple {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:43,602 INFO L290 TraceCheckUtils]: 45: Hoare triple {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16389#(and (not (= |ULTIMATE.start_cstrspn_~sc~0#1| 0)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0))} is VALID [2022-02-20 23:42:43,602 INFO L290 TraceCheckUtils]: 46: Hoare triple {16389#(and (not (= |ULTIMATE.start_cstrspn_~sc~0#1| 0)) (= |ULTIMATE.start_cstrspn_~c~0#1| 0))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16212#false} is VALID [2022-02-20 23:42:43,602 INFO L290 TraceCheckUtils]: 47: Hoare triple {16212#false} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16212#false} is VALID [2022-02-20 23:42:43,602 INFO L290 TraceCheckUtils]: 48: Hoare triple {16212#false} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {16212#false} is VALID [2022-02-20 23:42:43,603 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 15 proven. 21 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:43,603 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:42:45,418 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:45,419 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:45,440 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:42:45,440 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:45,464 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:46,219 INFO L290 TraceCheckUtils]: 48: Hoare triple {16212#false} assume !(1 + cstrspn_#t~post2#1.offset <= #length[cstrspn_#t~post2#1.base] && 0 <= cstrspn_#t~post2#1.offset); {16212#false} is VALID [2022-02-20 23:42:46,219 INFO L290 TraceCheckUtils]: 47: Hoare triple {16212#false} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16212#false} is VALID [2022-02-20 23:42:46,219 INFO L290 TraceCheckUtils]: 46: Hoare triple {16237#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16212#false} is VALID [2022-02-20 23:42:46,220 INFO L290 TraceCheckUtils]: 45: Hoare triple {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16237#(not (= |ULTIMATE.start_cstrspn_~sc~0#1| |ULTIMATE.start_cstrspn_~c~0#1|))} is VALID [2022-02-20 23:42:46,220 INFO L290 TraceCheckUtils]: 44: Hoare triple {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:46,220 INFO L290 TraceCheckUtils]: 43: Hoare triple {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:46,220 INFO L290 TraceCheckUtils]: 42: Hoare triple {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:46,221 INFO L290 TraceCheckUtils]: 41: Hoare triple {16372#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16376#(= |ULTIMATE.start_cstrspn_~c~0#1| 0)} is VALID [2022-02-20 23:42:46,221 INFO L290 TraceCheckUtils]: 40: Hoare triple {16423#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0) (not (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|))))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16372#(= |ULTIMATE.start_cstrspn_#t~mem3#1| 0)} is VALID [2022-02-20 23:42:46,222 INFO L290 TraceCheckUtils]: 39: Hoare triple {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16423#(or (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post2#1.base|) |ULTIMATE.start_cstrspn_#t~post2#1.offset|) 0) (not (<= (+ |ULTIMATE.start_cstrspn_#t~post2#1.offset| 1) (select |#length| |ULTIMATE.start_cstrspn_#t~post2#1.base|))))} is VALID [2022-02-20 23:42:46,222 INFO L290 TraceCheckUtils]: 38: Hoare triple {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,223 INFO L290 TraceCheckUtils]: 37: Hoare triple {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,223 INFO L290 TraceCheckUtils]: 36: Hoare triple {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,223 INFO L290 TraceCheckUtils]: 35: Hoare triple {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,224 INFO L290 TraceCheckUtils]: 34: Hoare triple {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,224 INFO L290 TraceCheckUtils]: 33: Hoare triple {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,225 INFO L290 TraceCheckUtils]: 32: Hoare triple {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,225 INFO L290 TraceCheckUtils]: 31: Hoare triple {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16427#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (not (<= |ULTIMATE.start_cstrspn_~p~0#1.offset| |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,226 INFO L290 TraceCheckUtils]: 30: Hoare triple {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,226 INFO L290 TraceCheckUtils]: 29: Hoare triple {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,227 INFO L290 TraceCheckUtils]: 28: Hoare triple {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,227 INFO L290 TraceCheckUtils]: 27: Hoare triple {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,227 INFO L290 TraceCheckUtils]: 26: Hoare triple {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,228 INFO L290 TraceCheckUtils]: 25: Hoare triple {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,228 INFO L290 TraceCheckUtils]: 24: Hoare triple {16474#(or (not (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|)) (forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0))))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {16452#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,229 INFO L290 TraceCheckUtils]: 23: Hoare triple {16478#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {16474#(or (not (<= 0 |ULTIMATE.start_cstrspn_#t~post2#1.offset|)) (forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| (+ |ULTIMATE.start_cstrspn_~p~0#1.offset| 1)) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0))))} is VALID [2022-02-20 23:42:46,230 INFO L290 TraceCheckUtils]: 22: Hoare triple {16482#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 2) (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {16478#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_cstrspn_~p~0#1.base|))) (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 2) (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~p~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,230 INFO L290 TraceCheckUtils]: 21: Hoare triple {16486#(forall ((v_ArrVal_481 (Array Int Int)) (|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 2) (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (= 0 (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_481) |ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|))))} SUMMARY for call write~int(0, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + (main_~length2~0#1 - 1), 1); srcloc: L545 {16482#(forall ((|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 2) (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|) 0)))} is VALID [2022-02-20 23:42:46,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {16486#(forall ((v_ArrVal_481 (Array Int Int)) (|v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| Int)) (or (< |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 2) (not (<= (+ |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46| 1) (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|))) (= 0 (select (select (store |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base| v_ArrVal_481) |ULTIMATE.start_main_~nondetString1~0#1.base|) |v_ULTIMATE.start_cstrspn_#t~post2#1.offset_46|))))} is VALID [2022-02-20 23:42:46,232 INFO L290 TraceCheckUtils]: 19: Hoare triple {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:42:46,232 INFO L290 TraceCheckUtils]: 18: Hoare triple {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:42:46,233 INFO L290 TraceCheckUtils]: 17: Hoare triple {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} havoc main_#t~nondet13#1; {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:42:46,233 INFO L290 TraceCheckUtils]: 16: Hoare triple {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:42:46,234 INFO L290 TraceCheckUtils]: 15: Hoare triple {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:42:46,234 INFO L290 TraceCheckUtils]: 14: Hoare triple {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} main_~i~1#1 := 0; {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:42:46,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {16512#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {16490#(and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3)))} is VALID [2022-02-20 23:42:46,235 INFO L290 TraceCheckUtils]: 12: Hoare triple {16516#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {16512#(or (< (+ |ULTIMATE.start_main_~i~0#1| 1) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,236 INFO L290 TraceCheckUtils]: 11: Hoare triple {16516#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} havoc main_#t~nondet11#1; {16516#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,237 INFO L290 TraceCheckUtils]: 10: Hoare triple {16516#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {16516#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {16516#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {16516#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,238 INFO L290 TraceCheckUtils]: 8: Hoare triple {16529#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {16516#(or (< (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,238 INFO L290 TraceCheckUtils]: 7: Hoare triple {16529#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} havoc main_#t~nondet11#1; {16529#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,239 INFO L290 TraceCheckUtils]: 6: Hoare triple {16529#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {16529#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,240 INFO L290 TraceCheckUtils]: 5: Hoare triple {16529#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {16529#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,241 INFO L290 TraceCheckUtils]: 4: Hoare triple {16211#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {16529#(or (< (+ 3 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|) (and (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|) 3)) (or (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3) (<= (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) (+ |ULTIMATE.start_main_~nondetString1~0#1.offset| |ULTIMATE.start_main_~length1~0#1|))) (or (not (= |ULTIMATE.start_main_~nondetString2~0#1.base| |ULTIMATE.start_main_~nondetString1~0#1.base|)) (< (select |#length| |ULTIMATE.start_main_~nondetString1~0#1.base|) 3))))} is VALID [2022-02-20 23:42:46,241 INFO L290 TraceCheckUtils]: 3: Hoare triple {16211#true} assume !(main_~length2~0#1 < 1); {16211#true} is VALID [2022-02-20 23:42:46,241 INFO L290 TraceCheckUtils]: 2: Hoare triple {16211#true} assume !(main_~length1~0#1 < 1); {16211#true} is VALID [2022-02-20 23:42:46,241 INFO L290 TraceCheckUtils]: 1: Hoare triple {16211#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {16211#true} is VALID [2022-02-20 23:42:46,241 INFO L290 TraceCheckUtils]: 0: Hoare triple {16211#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {16211#true} is VALID [2022-02-20 23:42:46,241 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 14 proven. 22 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:42:46,241 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1559861607] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:42:46,241 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:42:46,241 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 16, 16] total 52 [2022-02-20 23:42:46,241 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [138648419] [2022-02-20 23:42:46,241 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:42:46,242 INFO L78 Accepts]: Start accepts. Automaton has has 52 states, 52 states have (on average 2.5) internal successors, (130), 52 states have internal predecessors, (130), 0 states have call successors, (0), 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:46,242 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:42:46,242 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 52 states, 52 states have (on average 2.5) internal successors, (130), 52 states have internal predecessors, (130), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:46,342 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:46,342 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 52 states [2022-02-20 23:42:46,342 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:42:46,342 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 52 interpolants. [2022-02-20 23:42:46,343 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=157, Invalid=2469, Unknown=26, NotChecked=0, Total=2652 [2022-02-20 23:42:46,343 INFO L87 Difference]: Start difference. First operand 339 states and 386 transitions. Second operand has 52 states, 52 states have (on average 2.5) internal successors, (130), 52 states have internal predecessors, (130), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:49,501 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:49,502 INFO L93 Difference]: Finished difference Result 574 states and 644 transitions. [2022-02-20 23:42:49,502 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 48 states. [2022-02-20 23:42:49,502 INFO L78 Accepts]: Start accepts. Automaton has has 52 states, 52 states have (on average 2.5) internal successors, (130), 52 states have internal predecessors, (130), 0 states have call successors, (0), 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:49,502 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:42:49,502 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 52 states have (on average 2.5) internal successors, (130), 52 states have internal predecessors, (130), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:49,503 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 135 transitions. [2022-02-20 23:42:49,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 52 states, 52 states have (on average 2.5) internal successors, (130), 52 states have internal predecessors, (130), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:49,504 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 135 transitions. [2022-02-20 23:42:49,504 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 48 states and 135 transitions. [2022-02-20 23:42:49,625 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 135 edges. 135 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:42:49,633 INFO L225 Difference]: With dead ends: 574 [2022-02-20 23:42:49,634 INFO L226 Difference]: Without dead ends: 547 [2022-02-20 23:42:49,635 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 167 GetRequests, 76 SyntacticMatches, 1 SemanticMatches, 90 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1714 ImplicationChecksByTransitivity, 2.6s TimeCoverageRelationStatistics Valid=648, Invalid=7698, Unknown=26, NotChecked=0, Total=8372 [2022-02-20 23:42:49,636 INFO L933 BasicCegarLoop]: 36 mSDtfsCounter, 162 mSDsluCounter, 1041 mSDsCounter, 0 mSdLazyCounter, 652 mSolverCounterSat, 26 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 162 SdHoareTripleChecker+Valid, 1077 SdHoareTripleChecker+Invalid, 1161 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 26 IncrementalHoareTripleChecker+Valid, 652 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 483 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:42:49,636 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [162 Valid, 1077 Invalid, 1161 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [26 Valid, 652 Invalid, 0 Unknown, 483 Unchecked, 0.5s Time] [2022-02-20 23:42:49,637 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 547 states. [2022-02-20 23:42:49,642 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 547 to 429. [2022-02-20 23:42:49,642 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:42:49,642 INFO L82 GeneralOperation]: Start isEquivalent. First operand 547 states. Second operand has 429 states, 427 states have (on average 1.1475409836065573) internal successors, (490), 428 states have internal predecessors, (490), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:49,643 INFO L74 IsIncluded]: Start isIncluded. First operand 547 states. Second operand has 429 states, 427 states have (on average 1.1475409836065573) internal successors, (490), 428 states have internal predecessors, (490), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:49,643 INFO L87 Difference]: Start difference. First operand 547 states. Second operand has 429 states, 427 states have (on average 1.1475409836065573) internal successors, (490), 428 states have internal predecessors, (490), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:49,651 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:49,652 INFO L93 Difference]: Finished difference Result 547 states and 617 transitions. [2022-02-20 23:42:49,652 INFO L276 IsEmpty]: Start isEmpty. Operand 547 states and 617 transitions. [2022-02-20 23:42:49,652 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:49,652 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:49,653 INFO L74 IsIncluded]: Start isIncluded. First operand has 429 states, 427 states have (on average 1.1475409836065573) internal successors, (490), 428 states have internal predecessors, (490), 0 states have call successors, (0), 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 547 states. [2022-02-20 23:42:49,653 INFO L87 Difference]: Start difference. First operand has 429 states, 427 states have (on average 1.1475409836065573) internal successors, (490), 428 states have internal predecessors, (490), 0 states have call successors, (0), 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 547 states. [2022-02-20 23:42:49,662 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:42:49,662 INFO L93 Difference]: Finished difference Result 547 states and 617 transitions. [2022-02-20 23:42:49,662 INFO L276 IsEmpty]: Start isEmpty. Operand 547 states and 617 transitions. [2022-02-20 23:42:49,663 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:42:49,663 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:42:49,663 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:42:49,663 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:42:49,664 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 429 states, 427 states have (on average 1.1475409836065573) internal successors, (490), 428 states have internal predecessors, (490), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:49,669 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 429 states to 429 states and 490 transitions. [2022-02-20 23:42:49,669 INFO L78 Accepts]: Start accepts. Automaton has 429 states and 490 transitions. Word has length 49 [2022-02-20 23:42:49,669 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:42:49,670 INFO L470 AbstractCegarLoop]: Abstraction has 429 states and 490 transitions. [2022-02-20 23:42:49,670 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 52 states, 52 states have (on average 2.5) internal successors, (130), 52 states have internal predecessors, (130), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:42:49,670 INFO L276 IsEmpty]: Start isEmpty. Operand 429 states and 490 transitions. [2022-02-20 23:42:49,670 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:42:49,670 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:42:49,671 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:42:49,689 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (14)] Forceful destruction successful, exit code 0 [2022-02-20 23:42:49,889 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:49,889 INFO L402 AbstractCegarLoop]: === Iteration 31 === Targeting ULTIMATE.startErr11REQUIRES_VIOLATION === [ULTIMATE.startErr0REQUIRES_VIOLATION, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION, ULTIMATE.startErr3REQUIRES_VIOLATION (and 9 more)] === [2022-02-20 23:42:49,889 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:42:49,889 INFO L85 PathProgramCache]: Analyzing trace with hash -839474363, now seen corresponding path program 3 times [2022-02-20 23:42:49,889 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:42:49,889 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [769202873] [2022-02-20 23:42:49,889 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:42:49,890 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:42:49,915 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:50,351 INFO L290 TraceCheckUtils]: 0: Hoare triple {18733#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {18733#true} is VALID [2022-02-20 23:42:50,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {18733#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~nondet6#1, main_#t~nondet7#1, main_#t~malloc8#1.base, main_#t~malloc8#1.offset, main_#t~malloc9#1.base, main_#t~malloc9#1.offset, main_#t~nondet11#1, main_#t~post10#1, main_~i~0#1, main_#t~nondet13#1, main_#t~post12#1, main_~i~1#1, main_#t~ret14#1, main_~length1~0#1, main_~length2~0#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;assume -2147483648 <= main_#t~nondet6#1 && main_#t~nondet6#1 <= 2147483647;main_~length1~0#1 := main_#t~nondet6#1;havoc main_#t~nondet6#1;assume -2147483648 <= main_#t~nondet7#1 && main_#t~nondet7#1 <= 2147483647;main_~length2~0#1 := main_#t~nondet7#1;havoc main_#t~nondet7#1; {18733#true} is VALID [2022-02-20 23:42:50,351 INFO L290 TraceCheckUtils]: 2: Hoare triple {18733#true} assume !(main_~length1~0#1 < 1); {18733#true} is VALID [2022-02-20 23:42:50,351 INFO L290 TraceCheckUtils]: 3: Hoare triple {18733#true} assume !(main_~length2~0#1 < 1); {18733#true} is VALID [2022-02-20 23:42:50,351 INFO L290 TraceCheckUtils]: 4: Hoare triple {18733#true} call main_#t~malloc8#1.base, main_#t~malloc8#1.offset := #Ultimate.allocOnStack(main_~length1~0#1);main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset := main_#t~malloc8#1.base, main_#t~malloc8#1.offset;call main_#t~malloc9#1.base, main_#t~malloc9#1.offset := #Ultimate.allocOnStack(main_~length2~0#1);main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset := main_#t~malloc9#1.base, main_#t~malloc9#1.offset;main_~i~0#1 := 0; {18735#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} is VALID [2022-02-20 23:42:50,352 INFO L290 TraceCheckUtils]: 5: Hoare triple {18735#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0))} assume !!(main_~i~0#1 < main_~length1~0#1 - 1);assume -128 <= main_#t~nondet11#1 && main_#t~nondet11#1 <= 127; {18736#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:50,353 INFO L290 TraceCheckUtils]: 6: Hoare triple {18736#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)))} SUMMARY for call write~int(main_#t~nondet11#1, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + main_~i~0#1, 1); srcloc: L539 {18736#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:50,353 INFO L290 TraceCheckUtils]: 7: Hoare triple {18736#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)))} havoc main_#t~nondet11#1; {18736#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:50,354 INFO L290 TraceCheckUtils]: 8: Hoare triple {18736#(and (= |ULTIMATE.start_main_~i~0#1| 0) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (or (not (= (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| (* (- 1) |ULTIMATE.start_main_~length1~0#1|) |ULTIMATE.start_main_~length2~0#1|) 0)) (<= (+ 2 |ULTIMATE.start_main_~i~0#1|) |ULTIMATE.start_main_~length1~0#1|)))} main_#t~post10#1 := main_~i~0#1;main_~i~0#1 := 1 + main_#t~post10#1;havoc main_#t~post10#1; {18737#(and (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_~i~0#1| 1) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (<= |ULTIMATE.start_main_~i~0#1| 1)))} is VALID [2022-02-20 23:42:50,354 INFO L290 TraceCheckUtils]: 9: Hoare triple {18737#(and (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_~i~0#1| 1) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (or (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|)) (<= |ULTIMATE.start_main_~i~0#1| 1)))} assume !(main_~i~0#1 < main_~length1~0#1 - 1); {18738#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,355 INFO L290 TraceCheckUtils]: 10: Hoare triple {18738#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} main_~i~1#1 := 0; {18739#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,356 INFO L290 TraceCheckUtils]: 11: Hoare triple {18739#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {18739#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,356 INFO L290 TraceCheckUtils]: 12: Hoare triple {18739#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {18739#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,357 INFO L290 TraceCheckUtils]: 13: Hoare triple {18739#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} havoc main_#t~nondet13#1; {18739#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,358 INFO L290 TraceCheckUtils]: 14: Hoare triple {18739#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|)) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| 2) (not (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) |ULTIMATE.start_main_~length1~0#1|))))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {18740#(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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~1#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)) (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} is VALID [2022-02-20 23:42:50,358 INFO L290 TraceCheckUtils]: 15: Hoare triple {18740#(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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))) (or (<= |ULTIMATE.start_main_~length1~0#1| (+ |ULTIMATE.start_main_~i~1#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)) (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_main_~length1~0#1|)))} assume !!(main_~i~1#1 < main_~length2~0#1 - 1);assume -128 <= main_#t~nondet13#1 && main_#t~nondet13#1 <= 127; {18741#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ (- 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_~i~1#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|))) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,359 INFO L290 TraceCheckUtils]: 16: Hoare triple {18741#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ (- 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_~i~1#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|))) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))))} SUMMARY for call write~int(main_#t~nondet13#1, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset + main_~i~1#1, 1); srcloc: L543 {18741#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ (- 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_~i~1#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|))) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,360 INFO L290 TraceCheckUtils]: 17: Hoare triple {18741#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ (- 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_~i~1#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|))) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))))} havoc main_#t~nondet13#1; {18741#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ (- 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_~i~1#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|))) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,360 INFO L290 TraceCheckUtils]: 18: Hoare triple {18741#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (= (+ (- 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_~i~1#1| 1) |ULTIMATE.start_main_~length1~0#1|) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|))) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))))} main_#t~post12#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post12#1;havoc main_#t~post12#1; {18742#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))))} is VALID [2022-02-20 23:42:50,361 INFO L290 TraceCheckUtils]: 19: Hoare triple {18742#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (or (<= (+ |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|) (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= |ULTIMATE.start_main_~i~1#1| |ULTIMATE.start_main_~length1~0#1|)) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (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| 2) (<= 2 |ULTIMATE.start_main_~length1~0#1|))))} assume !(main_~i~1#1 < main_~length2~0#1 - 1); {18743#(and (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} is VALID [2022-02-20 23:42:50,361 INFO L290 TraceCheckUtils]: 20: Hoare triple {18743#(and (<= |ULTIMATE.start_main_~length1~0#1| 2) (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~length1~0#1| 1) |ULTIMATE.start_main_~length2~0#1|) (<= |ULTIMATE.start_main_~length2~0#1| (+ |ULTIMATE.start_main_~length1~0#1| 1)) (<= 2 |ULTIMATE.start_main_~length1~0#1|))} SUMMARY for call write~int(0, main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset + (main_~length1~0#1 - 1), 1); srcloc: L541-4 {18744#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= 2 (+ (- 1) |ULTIMATE.start_main_~nondetString2~0#1.offset| |ULTIMATE.start_main_~length2~0#1|)))} is VALID [2022-02-20 23:42:50,362 INFO L290 TraceCheckUtils]: 21: Hoare triple {18744#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= 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: L545 {18745#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) 0))} is VALID [2022-02-20 23:42:50,362 INFO L290 TraceCheckUtils]: 22: Hoare triple {18745#(and (= |ULTIMATE.start_main_~nondetString2~0#1.offset| 0) (= (select (select |#memory_int| |ULTIMATE.start_main_~nondetString2~0#1.base|) 2) 0))} assume { :begin_inline_cstrspn } true;cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset, cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset := main_~nondetString1~0#1.base, main_~nondetString1~0#1.offset, main_~nondetString2~0#1.base, main_~nondetString2~0#1.offset;havoc cstrspn_#res#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, cstrspn_#t~mem3#1, cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, cstrspn_#t~mem5#1, cstrspn_~s1#1.base, cstrspn_~s1#1.offset, cstrspn_~s2#1.base, cstrspn_~s2#1.offset, cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset, cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset, cstrspn_~c~0#1, cstrspn_~sc~0#1;cstrspn_~s1#1.base, cstrspn_~s1#1.offset := cstrspn_#in~s1#1.base, cstrspn_#in~s1#1.offset;cstrspn_~s2#1.base, cstrspn_~s2#1.offset := cstrspn_#in~s2#1.base, cstrspn_#in~s2#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_~s1#1.base, cstrspn_~s1#1.offset;havoc cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;havoc cstrspn_~c~0#1;havoc cstrspn_~sc~0#1; {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,363 INFO L290 TraceCheckUtils]: 23: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,363 INFO L290 TraceCheckUtils]: 24: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,363 INFO L290 TraceCheckUtils]: 25: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,364 INFO L290 TraceCheckUtils]: 26: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,364 INFO L290 TraceCheckUtils]: 27: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,364 INFO L290 TraceCheckUtils]: 28: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,365 INFO L290 TraceCheckUtils]: 29: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,365 INFO L290 TraceCheckUtils]: 30: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} assume cstrspn_~sc~0#1 == cstrspn_~c~0#1; {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,365 INFO L290 TraceCheckUtils]: 31: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset := cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset;cstrspn_~p~0#1.base, cstrspn_~p~0#1.offset := cstrspn_#t~post2#1.base, 1 + cstrspn_#t~post2#1.offset; {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,366 INFO L290 TraceCheckUtils]: 32: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} SUMMARY for call cstrspn_#t~mem3#1 := read~int(cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset, 1); srcloc: L519 {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} is VALID [2022-02-20 23:42:50,366 INFO L290 TraceCheckUtils]: 33: Hoare triple {18746#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~s2#1.base|) 2) 0) (= 0 |ULTIMATE.start_cstrspn_~s2#1.offset|))} cstrspn_~c~0#1 := cstrspn_#t~mem3#1;havoc cstrspn_#t~post2#1.base, cstrspn_#t~post2#1.offset;havoc cstrspn_#t~mem3#1;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_~s2#1.base, cstrspn_~s2#1.offset; {18747#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 2)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} is VALID [2022-02-20 23:42:50,367 INFO L290 TraceCheckUtils]: 34: Hoare triple {18747#(and (= 0 (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) 2)) (= |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 0))} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {18748#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1 (* (- 1) |ULTIMATE.start_cstrspn_#t~post4#1.offset|))) 0) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} is VALID [2022-02-20 23:42:50,367 INFO L290 TraceCheckUtils]: 35: Hoare triple {18748#(and (= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1 (* (- 1) |ULTIMATE.start_cstrspn_#t~post4#1.offset|))) 0) (= |ULTIMATE.start_cstrspn_#t~post4#1.offset| 0))} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {18749#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:50,367 INFO L290 TraceCheckUtils]: 36: Hoare triple {18749#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {18749#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:50,367 INFO L290 TraceCheckUtils]: 37: Hoare triple {18749#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {18749#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:50,368 INFO L290 TraceCheckUtils]: 38: Hoare triple {18749#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {18749#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} is VALID [2022-02-20 23:42:50,368 INFO L290 TraceCheckUtils]: 39: Hoare triple {18749#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) (+ |ULTIMATE.start_cstrspn_~spanp~0#1.offset| 1)) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:50,368 INFO L290 TraceCheckUtils]: 40: Hoare triple {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:50,369 INFO L290 TraceCheckUtils]: 41: Hoare triple {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:50,369 INFO L290 TraceCheckUtils]: 42: Hoare triple {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:50,369 INFO L290 TraceCheckUtils]: 43: Hoare triple {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} is VALID [2022-02-20 23:42:50,370 INFO L290 TraceCheckUtils]: 44: Hoare triple {18750#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_~spanp~0#1.base|) |ULTIMATE.start_cstrspn_~spanp~0#1.offset|) 0)} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {18751#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} is VALID [2022-02-20 23:42:50,370 INFO L290 TraceCheckUtils]: 45: Hoare triple {18751#(= (select (select |#memory_int| |ULTIMATE.start_cstrspn_#t~post4#1.base|) |ULTIMATE.start_cstrspn_#t~post4#1.offset|) 0)} SUMMARY for call cstrspn_#t~mem5#1 := read~int(cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset, 1); srcloc: L520-1 {18752#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} is VALID [2022-02-20 23:42:50,370 INFO L290 TraceCheckUtils]: 46: Hoare triple {18752#(= |ULTIMATE.start_cstrspn_#t~mem5#1| 0)} cstrspn_~sc~0#1 := cstrspn_#t~mem5#1; {18753#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} is VALID [2022-02-20 23:42:50,370 INFO L290 TraceCheckUtils]: 47: Hoare triple {18753#(= |ULTIMATE.start_cstrspn_~sc~0#1| 0)} assume !!(0 != cstrspn_~sc~0#1);havoc cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset;havoc cstrspn_#t~mem5#1; {18734#false} is VALID [2022-02-20 23:42:50,370 INFO L290 TraceCheckUtils]: 48: Hoare triple {18734#false} assume !(cstrspn_~sc~0#1 == cstrspn_~c~0#1); {18734#false} is VALID [2022-02-20 23:42:50,370 INFO L290 TraceCheckUtils]: 49: Hoare triple {18734#false} cstrspn_#t~post4#1.base, cstrspn_#t~post4#1.offset := cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset;cstrspn_~spanp~0#1.base, cstrspn_~spanp~0#1.offset := cstrspn_#t~post4#1.base, 1 + cstrspn_#t~post4#1.offset; {18734#false} is VALID [2022-02-20 23:42:50,371 INFO L290 TraceCheckUtils]: 50: Hoare triple {18734#false} assume !(1 + cstrspn_#t~post4#1.offset <= #length[cstrspn_#t~post4#1.base] && 0 <= cstrspn_#t~post4#1.offset); {18734#false} is VALID [2022-02-20 23:42:50,371 INFO L134 CoverageAnalysis]: Checked inductivity of 48 backedges. 11 proven. 34 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:42:50,371 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:42:50,371 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [769202873] [2022-02-20 23:42:50,371 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [769202873] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:42:50,371 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [425008485] [2022-02-20 23:42:50,371 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:42:50,371 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:42:50,371 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:42:50,372 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:50,373 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:50,464 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-02-20 23:42:50,464 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:42:50,466 INFO L263 TraceCheckSpWp]: Trace formula consists of 254 conjuncts, 49 conjunts are in the unsatisfiable core [2022-02-20 23:42:50,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:42:50,479 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:42:50,719 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