./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memcleanup.prp --file ../sv-benchmarks/c/memsafety-bftpd/bftpd_1.i --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (memcleanup) 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/memsafety-bftpd/bftpd_1.i -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-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-memcleanup) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 10f5db0b7f76a0d4c4c35217e21dd4a594e7457adb3230ac21a302fd5d7ee15c --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:37:40,202 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:37:40,203 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:37:40,227 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:37:40,231 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:37:40,234 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:37:40,236 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:37:40,237 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:37:40,238 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:37:40,238 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:37:40,239 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:37:40,239 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:37:40,240 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:37:40,240 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:37:40,241 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:37:40,241 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:37:40,242 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:37:40,242 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:37:40,244 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:37:40,245 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:37:40,246 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:37:40,257 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:37:40,258 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:37:40,259 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:37:40,262 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:37:40,267 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:37:40,268 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:37:40,268 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:37:40,270 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:37:40,271 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:37:40,271 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:37:40,272 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:37:40,273 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:37:40,274 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:37:40,275 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:37:40,276 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:37:40,276 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:37:40,276 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:37:40,276 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:37:40,277 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:37:40,278 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:37:40,278 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-MemCleanup-32bit-Automizer_Default.epf [2022-02-20 23:37:40,298 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:37:40,301 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:37:40,301 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:37:40,302 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:37:40,302 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:37:40,303 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:37:40,303 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:37:40,303 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:37:40,303 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:37:40,304 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:37:40,304 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:37:40,305 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:37:40,305 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:37:40,305 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:37:40,305 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:37:40,305 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:37:40,305 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:37:40,306 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:37:40,306 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:37:40,306 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:37:40,306 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:37:40,306 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:37:40,306 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:37:40,307 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:37:40,307 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:40,307 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:37:40,307 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:37:40,307 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:37:40,307 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:37:40,307 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-memcleanup) ) 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 -> 10f5db0b7f76a0d4c4c35217e21dd4a594e7457adb3230ac21a302fd5d7ee15c [2022-02-20 23:37:40,517 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:37:40,538 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:37:40,540 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:37:40,541 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:37:40,542 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:37:40,543 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/memsafety-bftpd/bftpd_1.i [2022-02-20 23:37:40,592 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b167ccaba/2528ed81a26942df9c398135dd9214e5/FLAGa5b86fd72 [2022-02-20 23:37:40,965 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:37:40,965 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/memsafety-bftpd/bftpd_1.i [2022-02-20 23:37:40,985 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b167ccaba/2528ed81a26942df9c398135dd9214e5/FLAGa5b86fd72 [2022-02-20 23:37:41,362 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/b167ccaba/2528ed81a26942df9c398135dd9214e5 [2022-02-20 23:37:41,363 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:37:41,364 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:37:41,365 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:41,365 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:37:41,367 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:37:41,368 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,369 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@44f36b72 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41, skipping insertion in model container [2022-02-20 23:37:41,369 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,373 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:37:41,394 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:37:41,607 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:41,616 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:37:41,661 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:37:41,689 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:37:41,690 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41 WrapperNode [2022-02-20 23:37:41,690 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:37:41,692 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:41,692 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:37:41,692 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:37:41,697 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:37:41" (1/1) ... [2022-02-20 23:37:41,724 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:37:41" (1/1) ... [2022-02-20 23:37:41,754 INFO L137 Inliner]: procedures = 168, calls = 43, calls flagged for inlining = 5, calls inlined = 5, statements flattened = 99 [2022-02-20 23:37:41,755 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:37:41,756 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:37:41,756 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:37:41,756 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:37:41,762 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,762 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,772 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,772 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,786 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,795 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,797 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,801 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:37:41,804 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:37:41,804 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:37:41,805 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:37:41,806 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (1/1) ... [2022-02-20 23:37:41,814 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:37:41,821 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:41,832 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:37:41,834 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:37:41,857 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:37:41,858 INFO L130 BoogieDeclarations]: Found specification of procedure parse_input [2022-02-20 23:37:41,858 INFO L138 BoogieDeclarations]: Found implementation of procedure parse_input [2022-02-20 23:37:41,858 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-02-20 23:37:41,858 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-02-20 23:37:41,858 INFO L130 BoogieDeclarations]: Found specification of procedure read~$Pointer$ [2022-02-20 23:37:41,858 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:37:41,858 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~$Pointer$ [2022-02-20 23:37:41,858 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-02-20 23:37:41,859 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:37:41,859 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:37:41,938 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:37:41,939 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:37:42,182 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:37:42,188 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:37:42,188 INFO L299 CfgBuilder]: Removed 1 assume(true) statements. [2022-02-20 23:37:42,189 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:42 BoogieIcfgContainer [2022-02-20 23:37:42,189 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:37:42,191 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:37:42,191 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:37:42,208 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:37:42,209 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:37:41" (1/3) ... [2022-02-20 23:37:42,209 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d4f9a6e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:42, skipping insertion in model container [2022-02-20 23:37:42,210 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:37:41" (2/3) ... [2022-02-20 23:37:42,210 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3d4f9a6e and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:37:42, skipping insertion in model container [2022-02-20 23:37:42,210 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:37:42" (3/3) ... [2022-02-20 23:37:42,211 INFO L111 eAbstractionObserver]: Analyzing ICFG bftpd_1.i [2022-02-20 23:37:42,220 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:37:42,223 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 23 error locations. [2022-02-20 23:37:42,266 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:37:42,279 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:37:42,280 INFO L340 AbstractCegarLoop]: Starting to check reachability of 23 error locations. [2022-02-20 23:37:42,304 INFO L276 IsEmpty]: Start isEmpty. Operand has 67 states, 39 states have (on average 1.794871794871795) internal successors, (70), 62 states have internal predecessors, (70), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:37:42,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:37:42,309 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:42,309 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:37:42,310 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting parse_inputErr0REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:42,314 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:42,314 INFO L85 PathProgramCache]: Analyzing trace with hash -594954629, now seen corresponding path program 1 times [2022-02-20 23:37:42,323 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:42,323 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [883157828] [2022-02-20 23:37:42,324 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:42,324 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:42,438 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:42,545 INFO L290 TraceCheckUtils]: 0: Hoare triple {70#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {72#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:37:42,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {72#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {72#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:37:42,548 INFO L272 TraceCheckUtils]: 2: Hoare triple {72#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} call parse_input(3, 0); {73#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:37:42,548 INFO L290 TraceCheckUtils]: 3: Hoare triple {73#(= (select |#valid| |~#commands~0.base|) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {73#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:37:42,549 INFO L290 TraceCheckUtils]: 4: Hoare triple {73#(= (select |#valid| |~#commands~0.base|) 1)} assume !!(~i~0#1 < 2); {73#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:37:42,549 INFO L290 TraceCheckUtils]: 5: Hoare triple {73#(= (select |#valid| |~#commands~0.base|) 1)} assume !(1 == #valid[~#commands~0.base]); {71#false} is VALID [2022-02-20 23:37:42,550 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:37:42,551 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:42,551 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [883157828] [2022-02-20 23:37:42,551 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [883157828] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:42,551 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:42,552 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:37:42,555 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [304990212] [2022-02-20 23:37:42,556 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:42,561 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:37:42,562 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:42,564 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:42,575 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:42,576 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:42,576 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:42,594 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:42,594 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:42,597 INFO L87 Difference]: Start difference. First operand has 67 states, 39 states have (on average 1.794871794871795) internal successors, (70), 62 states have internal predecessors, (70), 3 states have call successors, (3), 1 states have call predecessors, (3), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:42,913 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:42,914 INFO L93 Difference]: Finished difference Result 134 states and 155 transitions. [2022-02-20 23:37:42,914 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:42,914 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:37:42,914 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:42,915 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:42,932 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 164 transitions. [2022-02-20 23:37:42,932 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:42,940 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 164 transitions. [2022-02-20 23:37:42,940 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 164 transitions. [2022-02-20 23:37:43,064 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 164 edges. 164 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:43,077 INFO L225 Difference]: With dead ends: 134 [2022-02-20 23:37:43,077 INFO L226 Difference]: Without dead ends: 128 [2022-02-20 23:37:43,079 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 2 GetRequests, 0 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:37:43,083 INFO L933 BasicCegarLoop]: 60 mSDtfsCounter, 114 mSDsluCounter, 70 mSDsCounter, 0 mSdLazyCounter, 66 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 114 SdHoareTripleChecker+Valid, 130 SdHoareTripleChecker+Invalid, 74 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 66 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:43,084 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [114 Valid, 130 Invalid, 74 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 66 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:43,096 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 128 states. [2022-02-20 23:37:43,113 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 128 to 95. [2022-02-20 23:37:43,114 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:43,116 INFO L82 GeneralOperation]: Start isEquivalent. First operand 128 states. Second operand has 95 states, 65 states have (on average 1.646153846153846) internal successors, (107), 85 states have internal predecessors, (107), 6 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 23:37:43,118 INFO L74 IsIncluded]: Start isIncluded. First operand 128 states. Second operand has 95 states, 65 states have (on average 1.646153846153846) internal successors, (107), 85 states have internal predecessors, (107), 6 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 23:37:43,120 INFO L87 Difference]: Start difference. First operand 128 states. Second operand has 95 states, 65 states have (on average 1.646153846153846) internal successors, (107), 85 states have internal predecessors, (107), 6 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 23:37:43,140 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:43,141 INFO L93 Difference]: Finished difference Result 128 states and 149 transitions. [2022-02-20 23:37:43,141 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 149 transitions. [2022-02-20 23:37:43,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:43,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:43,144 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 65 states have (on average 1.646153846153846) internal successors, (107), 85 states have internal predecessors, (107), 6 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Second operand 128 states. [2022-02-20 23:37:43,144 INFO L87 Difference]: Start difference. First operand has 95 states, 65 states have (on average 1.646153846153846) internal successors, (107), 85 states have internal predecessors, (107), 6 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) Second operand 128 states. [2022-02-20 23:37:43,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:43,153 INFO L93 Difference]: Finished difference Result 128 states and 149 transitions. [2022-02-20 23:37:43,153 INFO L276 IsEmpty]: Start isEmpty. Operand 128 states and 149 transitions. [2022-02-20 23:37:43,155 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:43,155 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:43,155 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:43,156 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:43,156 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 65 states have (on average 1.646153846153846) internal successors, (107), 85 states have internal predecessors, (107), 6 states have call successors, (6), 3 states have call predecessors, (6), 3 states have return successors, (12), 6 states have call predecessors, (12), 6 states have call successors, (12) [2022-02-20 23:37:43,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 125 transitions. [2022-02-20 23:37:43,161 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 125 transitions. Word has length 6 [2022-02-20 23:37:43,161 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:43,161 INFO L470 AbstractCegarLoop]: Abstraction has 95 states and 125 transitions. [2022-02-20 23:37:43,161 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 1.6666666666666667) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:43,161 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 125 transitions. [2022-02-20 23:37:43,162 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:37:43,162 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:43,162 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:37:43,162 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:37:43,162 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting parse_inputErr1REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:43,163 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:43,163 INFO L85 PathProgramCache]: Analyzing trace with hash -594954628, now seen corresponding path program 1 times [2022-02-20 23:37:43,163 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:43,163 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [209691415] [2022-02-20 23:37:43,164 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:43,164 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:43,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:43,253 INFO L290 TraceCheckUtils]: 0: Hoare triple {561#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {563#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:43,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {563#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:43,255 INFO L272 TraceCheckUtils]: 2: Hoare triple {563#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(3, 0); {564#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:43,255 INFO L290 TraceCheckUtils]: 3: Hoare triple {564#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {565#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:43,256 INFO L290 TraceCheckUtils]: 4: Hoare triple {565#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {565#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:43,257 INFO L290 TraceCheckUtils]: 5: Hoare triple {565#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {562#false} is VALID [2022-02-20 23:37:43,257 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:37:43,258 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:43,258 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [209691415] [2022-02-20 23:37:43,258 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [209691415] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:43,258 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:43,258 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:43,258 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [550952480] [2022-02-20 23:37:43,259 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:43,260 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.25) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:37:43,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:43,260 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 1.25) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:43,265 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 6 edges. 6 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:43,265 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:37:43,266 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:43,266 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:37:43,266 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:37:43,266 INFO L87 Difference]: Start difference. First operand 95 states and 125 transitions. Second operand has 5 states, 4 states have (on average 1.25) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:43,598 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:43,599 INFO L93 Difference]: Finished difference Result 222 states and 302 transitions. [2022-02-20 23:37:43,599 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:43,599 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.25) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:37:43,599 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:43,599 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.25) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:43,602 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 179 transitions. [2022-02-20 23:37:43,602 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.25) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:43,604 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 179 transitions. [2022-02-20 23:37:43,605 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 179 transitions. [2022-02-20 23:37:43,759 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 179 edges. 179 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:43,764 INFO L225 Difference]: With dead ends: 222 [2022-02-20 23:37:43,765 INFO L226 Difference]: Without dead ends: 222 [2022-02-20 23:37:43,765 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:37:43,766 INFO L933 BasicCegarLoop]: 66 mSDtfsCounter, 138 mSDsluCounter, 163 mSDsCounter, 0 mSdLazyCounter, 70 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 138 SdHoareTripleChecker+Valid, 229 SdHoareTripleChecker+Invalid, 75 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 70 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:43,766 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [138 Valid, 229 Invalid, 75 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 70 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:43,767 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 222 states. [2022-02-20 23:37:43,774 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 222 to 169. [2022-02-20 23:37:43,775 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:43,775 INFO L82 GeneralOperation]: Start isEquivalent. First operand 222 states. Second operand has 169 states, 131 states have (on average 1.6641221374045803) internal successors, (218), 151 states have internal predecessors, (218), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:43,776 INFO L74 IsIncluded]: Start isIncluded. First operand 222 states. Second operand has 169 states, 131 states have (on average 1.6641221374045803) internal successors, (218), 151 states have internal predecessors, (218), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:43,776 INFO L87 Difference]: Start difference. First operand 222 states. Second operand has 169 states, 131 states have (on average 1.6641221374045803) internal successors, (218), 151 states have internal predecessors, (218), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:43,788 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:43,789 INFO L93 Difference]: Finished difference Result 222 states and 302 transitions. [2022-02-20 23:37:43,789 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 302 transitions. [2022-02-20 23:37:43,791 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:43,791 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:43,792 INFO L74 IsIncluded]: Start isIncluded. First operand has 169 states, 131 states have (on average 1.6641221374045803) internal successors, (218), 151 states have internal predecessors, (218), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 222 states. [2022-02-20 23:37:43,792 INFO L87 Difference]: Start difference. First operand has 169 states, 131 states have (on average 1.6641221374045803) internal successors, (218), 151 states have internal predecessors, (218), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 222 states. [2022-02-20 23:37:43,801 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:43,802 INFO L93 Difference]: Finished difference Result 222 states and 302 transitions. [2022-02-20 23:37:43,802 INFO L276 IsEmpty]: Start isEmpty. Operand 222 states and 302 transitions. [2022-02-20 23:37:43,803 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:43,803 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:43,803 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:43,803 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:43,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 169 states, 131 states have (on average 1.6641221374045803) internal successors, (218), 151 states have internal predecessors, (218), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:43,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 169 states to 169 states and 263 transitions. [2022-02-20 23:37:43,810 INFO L78 Accepts]: Start accepts. Automaton has 169 states and 263 transitions. Word has length 6 [2022-02-20 23:37:43,810 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:43,810 INFO L470 AbstractCegarLoop]: Abstraction has 169 states and 263 transitions. [2022-02-20 23:37:43,811 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 1.25) internal successors, (5), 3 states have internal predecessors, (5), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:43,811 INFO L276 IsEmpty]: Start isEmpty. Operand 169 states and 263 transitions. [2022-02-20 23:37:43,811 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:37:43,811 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:43,811 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:43,812 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:37:43,812 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:43,812 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:43,812 INFO L85 PathProgramCache]: Analyzing trace with hash -1263724334, now seen corresponding path program 1 times [2022-02-20 23:37:43,813 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:43,813 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [405996404] [2022-02-20 23:37:43,813 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:43,813 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:43,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:43,961 INFO L290 TraceCheckUtils]: 0: Hoare triple {1405#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {1407#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:43,962 INFO L290 TraceCheckUtils]: 1: Hoare triple {1407#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {1407#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:43,963 INFO L272 TraceCheckUtils]: 2: Hoare triple {1407#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(3, 0); {1407#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:43,963 INFO L290 TraceCheckUtils]: 3: Hoare triple {1407#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {1408#(and (= (select |#valid| 1) 1) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:43,964 INFO L290 TraceCheckUtils]: 4: Hoare triple {1408#(and (= (select |#valid| 1) 1) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !!(~i~0#1 < 2); {1408#(and (= (select |#valid| 1) 1) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:43,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {1408#(and (= (select |#valid| 1) 1) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {1409#(and (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (= |parse_input_#t~mem3#1.base| 1))} is VALID [2022-02-20 23:37:43,965 INFO L290 TraceCheckUtils]: 6: Hoare triple {1409#(and (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (= |parse_input_#t~mem3#1.base| 1))} assume !(1 == #valid[#t~mem3#1.base]); {1406#false} is VALID [2022-02-20 23:37:43,965 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:37:43,965 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:43,966 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [405996404] [2022-02-20 23:37:43,966 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [405996404] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:43,966 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:43,966 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:43,966 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1851773224] [2022-02-20 23:37:43,966 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:43,967 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.5) internal successors, (6), 4 states have internal predecessors, (6), 1 states have call successors, (1), 1 states have call predecessors, (1), 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:37:43,967 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:43,967 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 1.5) internal successors, (6), 4 states have internal predecessors, (6), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:43,973 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:37:43,973 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:37:43,973 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:43,974 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:37:43,974 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:37:43,974 INFO L87 Difference]: Start difference. First operand 169 states and 263 transitions. Second operand has 5 states, 4 states have (on average 1.5) internal successors, (6), 4 states have internal predecessors, (6), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:44,323 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:44,323 INFO L93 Difference]: Finished difference Result 260 states and 371 transitions. [2022-02-20 23:37:44,324 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:37:44,324 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.5) internal successors, (6), 4 states have internal predecessors, (6), 1 states have call successors, (1), 1 states have call predecessors, (1), 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:37:44,324 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:44,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.5) internal successors, (6), 4 states have internal predecessors, (6), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:44,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 188 transitions. [2022-02-20 23:37:44,326 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.5) internal successors, (6), 4 states have internal predecessors, (6), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:44,328 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 188 transitions. [2022-02-20 23:37:44,328 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 188 transitions. [2022-02-20 23:37:44,450 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 188 edges. 188 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:44,461 INFO L225 Difference]: With dead ends: 260 [2022-02-20 23:37:44,461 INFO L226 Difference]: Without dead ends: 260 [2022-02-20 23:37:44,462 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:37:44,467 INFO L933 BasicCegarLoop]: 57 mSDtfsCounter, 148 mSDsluCounter, 120 mSDsCounter, 0 mSdLazyCounter, 121 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 148 SdHoareTripleChecker+Valid, 177 SdHoareTripleChecker+Invalid, 126 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 121 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:44,468 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [148 Valid, 177 Invalid, 126 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 121 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:44,469 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 260 states. [2022-02-20 23:37:44,493 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 260 to 172. [2022-02-20 23:37:44,494 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:44,494 INFO L82 GeneralOperation]: Start isEquivalent. First operand 260 states. Second operand has 172 states, 134 states have (on average 1.6492537313432836) internal successors, (221), 154 states have internal predecessors, (221), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:44,495 INFO L74 IsIncluded]: Start isIncluded. First operand 260 states. Second operand has 172 states, 134 states have (on average 1.6492537313432836) internal successors, (221), 154 states have internal predecessors, (221), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:44,495 INFO L87 Difference]: Start difference. First operand 260 states. Second operand has 172 states, 134 states have (on average 1.6492537313432836) internal successors, (221), 154 states have internal predecessors, (221), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:44,508 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:44,508 INFO L93 Difference]: Finished difference Result 260 states and 371 transitions. [2022-02-20 23:37:44,508 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 371 transitions. [2022-02-20 23:37:44,509 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:44,510 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:44,510 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 134 states have (on average 1.6492537313432836) internal successors, (221), 154 states have internal predecessors, (221), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 260 states. [2022-02-20 23:37:44,511 INFO L87 Difference]: Start difference. First operand has 172 states, 134 states have (on average 1.6492537313432836) internal successors, (221), 154 states have internal predecessors, (221), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 260 states. [2022-02-20 23:37:44,524 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:44,524 INFO L93 Difference]: Finished difference Result 260 states and 371 transitions. [2022-02-20 23:37:44,524 INFO L276 IsEmpty]: Start isEmpty. Operand 260 states and 371 transitions. [2022-02-20 23:37:44,525 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:44,526 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:44,526 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:44,526 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:44,526 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 134 states have (on average 1.6492537313432836) internal successors, (221), 154 states have internal predecessors, (221), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:44,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 266 transitions. [2022-02-20 23:37:44,534 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 266 transitions. Word has length 7 [2022-02-20 23:37:44,534 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:44,534 INFO L470 AbstractCegarLoop]: Abstraction has 172 states and 266 transitions. [2022-02-20 23:37:44,535 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 1.5) internal successors, (6), 4 states have internal predecessors, (6), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:44,535 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 266 transitions. [2022-02-20 23:37:44,535 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 9 [2022-02-20 23:37:44,535 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:44,535 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:44,535 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:37:44,535 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:44,536 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:44,536 INFO L85 PathProgramCache]: Analyzing trace with hash -520748645, now seen corresponding path program 1 times [2022-02-20 23:37:44,536 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:44,536 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [258421259] [2022-02-20 23:37:44,536 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:44,537 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:44,559 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:44,668 INFO L290 TraceCheckUtils]: 0: Hoare triple {2366#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {2368#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:44,669 INFO L290 TraceCheckUtils]: 1: Hoare triple {2368#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {2368#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:44,670 INFO L272 TraceCheckUtils]: 2: Hoare triple {2368#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(3, 0); {2368#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:44,670 INFO L290 TraceCheckUtils]: 3: Hoare triple {2368#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {2369#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:44,671 INFO L290 TraceCheckUtils]: 4: Hoare triple {2369#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !!(~i~0#1 < 2); {2369#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:44,671 INFO L290 TraceCheckUtils]: 5: Hoare triple {2369#(and (= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {2370#(and (= (select |#length| |parse_input_#t~mem3#1.base|) 3) (= |parse_input_#t~mem3#1.offset| 0))} is VALID [2022-02-20 23:37:44,672 INFO L290 TraceCheckUtils]: 6: Hoare triple {2370#(and (= (select |#length| |parse_input_#t~mem3#1.base|) 3) (= |parse_input_#t~mem3#1.offset| 0))} assume 1 == #valid[#t~mem3#1.base]; {2370#(and (= (select |#length| |parse_input_#t~mem3#1.base|) 3) (= |parse_input_#t~mem3#1.offset| 0))} is VALID [2022-02-20 23:37:44,673 INFO L290 TraceCheckUtils]: 7: Hoare triple {2370#(and (= (select |#length| |parse_input_#t~mem3#1.base|) 3) (= |parse_input_#t~mem3#1.offset| 0))} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {2367#false} is VALID [2022-02-20 23:37:44,673 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:37:44,673 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:44,674 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [258421259] [2022-02-20 23:37:44,674 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [258421259] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:44,674 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:44,674 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:44,674 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [303213827] [2022-02-20 23:37:44,674 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:44,675 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 8 [2022-02-20 23:37:44,675 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:44,675 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:44,682 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 8 edges. 8 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:44,682 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:37:44,682 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:44,683 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:37:44,683 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:37:44,683 INFO L87 Difference]: Start difference. First operand 172 states and 266 transitions. Second operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:44,980 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:44,980 INFO L93 Difference]: Finished difference Result 224 states and 303 transitions. [2022-02-20 23:37:44,980 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:37:44,980 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 8 [2022-02-20 23:37:44,981 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:44,981 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:44,983 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 175 transitions. [2022-02-20 23:37:44,983 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:44,985 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 175 transitions. [2022-02-20 23:37:44,985 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 175 transitions. [2022-02-20 23:37:45,120 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 175 edges. 175 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:45,123 INFO L225 Difference]: With dead ends: 224 [2022-02-20 23:37:45,123 INFO L226 Difference]: Without dead ends: 224 [2022-02-20 23:37:45,124 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:37:45,124 INFO L933 BasicCegarLoop]: 65 mSDtfsCounter, 101 mSDsluCounter, 160 mSDsCounter, 0 mSdLazyCounter, 85 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 225 SdHoareTripleChecker+Invalid, 86 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 85 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:45,124 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [101 Valid, 225 Invalid, 86 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 85 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:45,125 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 224 states. [2022-02-20 23:37:45,129 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 224 to 172. [2022-02-20 23:37:45,129 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:45,130 INFO L82 GeneralOperation]: Start isEquivalent. First operand 224 states. Second operand has 172 states, 134 states have (on average 1.6343283582089552) internal successors, (219), 154 states have internal predecessors, (219), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:45,130 INFO L74 IsIncluded]: Start isIncluded. First operand 224 states. Second operand has 172 states, 134 states have (on average 1.6343283582089552) internal successors, (219), 154 states have internal predecessors, (219), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:45,130 INFO L87 Difference]: Start difference. First operand 224 states. Second operand has 172 states, 134 states have (on average 1.6343283582089552) internal successors, (219), 154 states have internal predecessors, (219), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:45,137 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,137 INFO L93 Difference]: Finished difference Result 224 states and 303 transitions. [2022-02-20 23:37:45,137 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 303 transitions. [2022-02-20 23:37:45,138 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:45,138 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:45,139 INFO L74 IsIncluded]: Start isIncluded. First operand has 172 states, 134 states have (on average 1.6343283582089552) internal successors, (219), 154 states have internal predecessors, (219), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 224 states. [2022-02-20 23:37:45,139 INFO L87 Difference]: Start difference. First operand has 172 states, 134 states have (on average 1.6343283582089552) internal successors, (219), 154 states have internal predecessors, (219), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 224 states. [2022-02-20 23:37:45,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,162 INFO L93 Difference]: Finished difference Result 224 states and 303 transitions. [2022-02-20 23:37:45,162 INFO L276 IsEmpty]: Start isEmpty. Operand 224 states and 303 transitions. [2022-02-20 23:37:45,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:45,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:45,163 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:45,164 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:45,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 172 states, 134 states have (on average 1.6343283582089552) internal successors, (219), 154 states have internal predecessors, (219), 11 states have call successors, (11), 6 states have call predecessors, (11), 6 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:45,169 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 172 states to 172 states and 264 transitions. [2022-02-20 23:37:45,169 INFO L78 Accepts]: Start accepts. Automaton has 172 states and 264 transitions. Word has length 8 [2022-02-20 23:37:45,169 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:45,169 INFO L470 AbstractCegarLoop]: Abstraction has 172 states and 264 transitions. [2022-02-20 23:37:45,169 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,170 INFO L276 IsEmpty]: Start isEmpty. Operand 172 states and 264 transitions. [2022-02-20 23:37:45,170 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 10 [2022-02-20 23:37:45,170 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:45,170 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:45,170 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:37:45,170 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting parse_inputErr4ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:45,171 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:45,171 INFO L85 PathProgramCache]: Analyzing trace with hash 1036661236, now seen corresponding path program 1 times [2022-02-20 23:37:45,171 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:45,171 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [458684577] [2022-02-20 23:37:45,171 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:45,171 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:45,182 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:45,206 INFO L290 TraceCheckUtils]: 0: Hoare triple {3219#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {3221#(= (select |#valid| 3) 1)} is VALID [2022-02-20 23:37:45,206 INFO L290 TraceCheckUtils]: 1: Hoare triple {3221#(= (select |#valid| 3) 1)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {3221#(= (select |#valid| 3) 1)} is VALID [2022-02-20 23:37:45,207 INFO L272 TraceCheckUtils]: 2: Hoare triple {3221#(= (select |#valid| 3) 1)} call parse_input(3, 0); {3222#(and (= (select |#valid| 3) 1) (= |parse_input_#in~input#1.base| 3))} is VALID [2022-02-20 23:37:45,207 INFO L290 TraceCheckUtils]: 3: Hoare triple {3222#(and (= (select |#valid| 3) 1) (= |parse_input_#in~input#1.base| 3))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} is VALID [2022-02-20 23:37:45,208 INFO L290 TraceCheckUtils]: 4: Hoare triple {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} assume !!(~i~0#1 < 2); {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} is VALID [2022-02-20 23:37:45,208 INFO L290 TraceCheckUtils]: 5: Hoare triple {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} is VALID [2022-02-20 23:37:45,209 INFO L290 TraceCheckUtils]: 6: Hoare triple {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} is VALID [2022-02-20 23:37:45,209 INFO L290 TraceCheckUtils]: 7: Hoare triple {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} is VALID [2022-02-20 23:37:45,209 INFO L290 TraceCheckUtils]: 8: Hoare triple {3223#(and (= 3 |parse_input_~input#1.base|) (= (select |#valid| |parse_input_~input#1.base|) 1))} assume !(1 == #valid[~input#1.base]); {3220#false} is VALID [2022-02-20 23:37:45,210 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:37:45,210 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:45,210 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [458684577] [2022-02-20 23:37:45,210 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [458684577] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:45,210 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:45,210 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:45,210 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [944020742] [2022-02-20 23:37:45,211 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:45,211 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 3 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 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:37:45,211 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:45,211 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 2.0) internal successors, (8), 3 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,217 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:37:45,217 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:37:45,218 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:45,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:37:45,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:37:45,218 INFO L87 Difference]: Start difference. First operand 172 states and 264 transitions. Second operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 3 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,470 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,470 INFO L93 Difference]: Finished difference Result 266 states and 366 transitions. [2022-02-20 23:37:45,470 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:37:45,470 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 3 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 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:37:45,470 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:45,471 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 3 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,472 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 186 transitions. [2022-02-20 23:37:45,472 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.0) internal successors, (8), 3 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,474 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 186 transitions. [2022-02-20 23:37:45,474 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 186 transitions. [2022-02-20 23:37:45,599 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 186 edges. 186 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:45,603 INFO L225 Difference]: With dead ends: 266 [2022-02-20 23:37:45,603 INFO L226 Difference]: Without dead ends: 266 [2022-02-20 23:37:45,604 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 0 SyntacticMatches, 0 SemanticMatches, 4 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=16, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:37:45,604 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 147 mSDsluCounter, 140 mSDsCounter, 0 mSdLazyCounter, 88 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 147 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 92 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 88 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:45,604 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [147 Valid, 195 Invalid, 92 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 88 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:45,605 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 266 states. [2022-02-20 23:37:45,610 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 266 to 205. [2022-02-20 23:37:45,610 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:45,610 INFO L82 GeneralOperation]: Start isEquivalent. First operand 266 states. Second operand has 205 states, 165 states have (on average 1.606060606060606) internal successors, (265), 186 states have internal predecessors, (265), 11 states have call successors, (11), 7 states have call predecessors, (11), 8 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:45,611 INFO L74 IsIncluded]: Start isIncluded. First operand 266 states. Second operand has 205 states, 165 states have (on average 1.606060606060606) internal successors, (265), 186 states have internal predecessors, (265), 11 states have call successors, (11), 7 states have call predecessors, (11), 8 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:45,611 INFO L87 Difference]: Start difference. First operand 266 states. Second operand has 205 states, 165 states have (on average 1.606060606060606) internal successors, (265), 186 states have internal predecessors, (265), 11 states have call successors, (11), 7 states have call predecessors, (11), 8 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:45,618 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,619 INFO L93 Difference]: Finished difference Result 266 states and 366 transitions. [2022-02-20 23:37:45,619 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 366 transitions. [2022-02-20 23:37:45,620 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:45,620 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:45,621 INFO L74 IsIncluded]: Start isIncluded. First operand has 205 states, 165 states have (on average 1.606060606060606) internal successors, (265), 186 states have internal predecessors, (265), 11 states have call successors, (11), 7 states have call predecessors, (11), 8 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 266 states. [2022-02-20 23:37:45,621 INFO L87 Difference]: Start difference. First operand has 205 states, 165 states have (on average 1.606060606060606) internal successors, (265), 186 states have internal predecessors, (265), 11 states have call successors, (11), 7 states have call predecessors, (11), 8 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 266 states. [2022-02-20 23:37:45,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,629 INFO L93 Difference]: Finished difference Result 266 states and 366 transitions. [2022-02-20 23:37:45,629 INFO L276 IsEmpty]: Start isEmpty. Operand 266 states and 366 transitions. [2022-02-20 23:37:45,630 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:45,630 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:45,630 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:45,631 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:45,631 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 205 states, 165 states have (on average 1.606060606060606) internal successors, (265), 186 states have internal predecessors, (265), 11 states have call successors, (11), 7 states have call predecessors, (11), 8 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:45,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 205 states to 205 states and 310 transitions. [2022-02-20 23:37:45,637 INFO L78 Accepts]: Start accepts. Automaton has 205 states and 310 transitions. Word has length 9 [2022-02-20 23:37:45,638 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:45,638 INFO L470 AbstractCegarLoop]: Abstraction has 205 states and 310 transitions. [2022-02-20 23:37:45,638 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.0) internal successors, (8), 3 states have internal predecessors, (8), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,638 INFO L276 IsEmpty]: Start isEmpty. Operand 205 states and 310 transitions. [2022-02-20 23:37:45,638 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 23:37:45,638 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:45,638 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:45,639 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:37:45,639 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting parse_inputErr5ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:45,639 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:45,639 INFO L85 PathProgramCache]: Analyzing trace with hash 2071727293, now seen corresponding path program 1 times [2022-02-20 23:37:45,639 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:45,640 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [27664567] [2022-02-20 23:37:45,640 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:45,640 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:45,650 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:45,677 INFO L290 TraceCheckUtils]: 0: Hoare triple {4231#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {4233#(= 3 (select |#length| 3))} is VALID [2022-02-20 23:37:45,678 INFO L290 TraceCheckUtils]: 1: Hoare triple {4233#(= 3 (select |#length| 3))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {4233#(= 3 (select |#length| 3))} is VALID [2022-02-20 23:37:45,678 INFO L272 TraceCheckUtils]: 2: Hoare triple {4233#(= 3 (select |#length| 3))} call parse_input(3, 0); {4234#(and (= 3 (select |#length| 3)) (= |parse_input_#in~input#1.base| 3) (= |parse_input_#in~input#1.offset| 0))} is VALID [2022-02-20 23:37:45,679 INFO L290 TraceCheckUtils]: 3: Hoare triple {4234#(and (= 3 (select |#length| 3)) (= |parse_input_#in~input#1.base| 3) (= |parse_input_#in~input#1.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:37:45,679 INFO L290 TraceCheckUtils]: 4: Hoare triple {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} assume !!(~i~0#1 < 2); {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:37:45,680 INFO L290 TraceCheckUtils]: 5: Hoare triple {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:37:45,680 INFO L290 TraceCheckUtils]: 6: Hoare triple {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} assume 1 == #valid[#t~mem3#1.base]; {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:37:45,681 INFO L290 TraceCheckUtils]: 7: Hoare triple {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:37:45,681 INFO L290 TraceCheckUtils]: 8: Hoare triple {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} assume 1 == #valid[~input#1.base]; {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:37:45,681 INFO L290 TraceCheckUtils]: 9: Hoare triple {4235#(and (= (+ (select |#length| |parse_input_~input#1.base|) (- 3)) 0) (= |parse_input_~input#1.offset| 0))} assume !(~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0); {4232#false} is VALID [2022-02-20 23:37:45,682 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:37:45,682 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:45,682 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [27664567] [2022-02-20 23:37:45,682 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [27664567] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:45,682 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:45,682 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:45,682 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1126123027] [2022-02-20 23:37:45,682 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:45,682 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 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:37:45,683 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:45,683 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), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,690 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:37:45,691 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:37:45,691 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:45,691 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:37:45,692 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=8, Invalid=12, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:37:45,692 INFO L87 Difference]: Start difference. First operand 205 states and 310 transitions. Second operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,921 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:45,921 INFO L93 Difference]: Finished difference Result 253 states and 333 transitions. [2022-02-20 23:37:45,922 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:37:45,922 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 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:37:45,922 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:45,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,924 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 176 transitions. [2022-02-20 23:37:45,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:45,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 176 transitions. [2022-02-20 23:37:45,926 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 176 transitions. [2022-02-20 23:37:46,043 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:46,046 INFO L225 Difference]: With dead ends: 253 [2022-02-20 23:37:46,047 INFO L226 Difference]: Without dead ends: 253 [2022-02-20 23:37:46,047 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 0 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:37:46,047 INFO L933 BasicCegarLoop]: 62 mSDtfsCounter, 184 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 67 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 184 SdHoareTripleChecker+Valid, 217 SdHoareTripleChecker+Invalid, 68 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 67 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:46,047 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [184 Valid, 217 Invalid, 68 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 67 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:37:46,048 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 253 states. [2022-02-20 23:37:46,054 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 253 to 219. [2022-02-20 23:37:46,055 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:46,055 INFO L82 GeneralOperation]: Start isEquivalent. First operand 253 states. Second operand has 219 states, 178 states have (on average 1.6067415730337078) internal successors, (286), 200 states have internal predecessors, (286), 11 states have call successors, (11), 7 states have call predecessors, (11), 9 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:46,056 INFO L74 IsIncluded]: Start isIncluded. First operand 253 states. Second operand has 219 states, 178 states have (on average 1.6067415730337078) internal successors, (286), 200 states have internal predecessors, (286), 11 states have call successors, (11), 7 states have call predecessors, (11), 9 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:46,056 INFO L87 Difference]: Start difference. First operand 253 states. Second operand has 219 states, 178 states have (on average 1.6067415730337078) internal successors, (286), 200 states have internal predecessors, (286), 11 states have call successors, (11), 7 states have call predecessors, (11), 9 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:46,063 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:46,063 INFO L93 Difference]: Finished difference Result 253 states and 333 transitions. [2022-02-20 23:37:46,063 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 333 transitions. [2022-02-20 23:37:46,064 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:46,064 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:46,065 INFO L74 IsIncluded]: Start isIncluded. First operand has 219 states, 178 states have (on average 1.6067415730337078) internal successors, (286), 200 states have internal predecessors, (286), 11 states have call successors, (11), 7 states have call predecessors, (11), 9 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 253 states. [2022-02-20 23:37:46,066 INFO L87 Difference]: Start difference. First operand has 219 states, 178 states have (on average 1.6067415730337078) internal successors, (286), 200 states have internal predecessors, (286), 11 states have call successors, (11), 7 states have call predecessors, (11), 9 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) Second operand 253 states. [2022-02-20 23:37:46,071 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:46,071 INFO L93 Difference]: Finished difference Result 253 states and 333 transitions. [2022-02-20 23:37:46,071 INFO L276 IsEmpty]: Start isEmpty. Operand 253 states and 333 transitions. [2022-02-20 23:37:46,072 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:46,072 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:46,072 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:46,072 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:46,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 219 states, 178 states have (on average 1.6067415730337078) internal successors, (286), 200 states have internal predecessors, (286), 11 states have call successors, (11), 7 states have call predecessors, (11), 9 states have return successors, (34), 11 states have call predecessors, (34), 11 states have call successors, (34) [2022-02-20 23:37:46,078 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 219 states to 219 states and 331 transitions. [2022-02-20 23:37:46,078 INFO L78 Accepts]: Start accepts. Automaton has 219 states and 331 transitions. Word has length 10 [2022-02-20 23:37:46,079 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:46,079 INFO L470 AbstractCegarLoop]: Abstraction has 219 states and 331 transitions. [2022-02-20 23:37:46,079 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 2.25) internal successors, (9), 3 states have internal predecessors, (9), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:46,079 INFO L276 IsEmpty]: Start isEmpty. Operand 219 states and 331 transitions. [2022-02-20 23:37:46,080 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 15 [2022-02-20 23:37:46,080 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:46,080 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:46,080 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-02-20 23:37:46,080 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting parse_inputErr1REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:46,081 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:46,081 INFO L85 PathProgramCache]: Analyzing trace with hash 288674115, now seen corresponding path program 1 times [2022-02-20 23:37:46,081 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:46,081 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1398792867] [2022-02-20 23:37:46,081 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:46,081 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:46,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:46,207 INFO L290 TraceCheckUtils]: 0: Hoare triple {5218#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {5220#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,207 INFO L290 TraceCheckUtils]: 1: Hoare triple {5220#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {5220#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,208 INFO L272 TraceCheckUtils]: 2: Hoare triple {5220#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(3, 0); {5221#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,209 INFO L290 TraceCheckUtils]: 3: Hoare triple {5221#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,212 INFO L290 TraceCheckUtils]: 4: Hoare triple {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,213 INFO L290 TraceCheckUtils]: 6: Hoare triple {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume 1 == #valid[#t~mem3#1.base]; {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume 1 == #valid[~input#1.base]; {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,231 INFO L290 TraceCheckUtils]: 10: Hoare triple {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,232 INFO L290 TraceCheckUtils]: 11: Hoare triple {5222#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {5223#(and (<= 9 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,244 INFO L290 TraceCheckUtils]: 12: Hoare triple {5223#(and (<= 9 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {5224#(and (<= 9 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 9))} is VALID [2022-02-20 23:37:46,244 INFO L290 TraceCheckUtils]: 13: Hoare triple {5224#(and (<= 9 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 9))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {5219#false} is VALID [2022-02-20 23:37:46,245 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:37:46,245 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:46,245 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1398792867] [2022-02-20 23:37:46,245 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1398792867] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:46,245 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1313270028] [2022-02-20 23:37:46,245 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:46,245 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:46,245 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:46,247 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:37:46,278 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:37:46,303 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:46,305 INFO L263 TraceCheckSpWp]: Trace formula consists of 142 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:37:46,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:46,330 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:46,574 INFO L290 TraceCheckUtils]: 0: Hoare triple {5218#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {5228#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,575 INFO L290 TraceCheckUtils]: 1: Hoare triple {5228#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {5228#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,576 INFO L272 TraceCheckUtils]: 2: Hoare triple {5228#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} call parse_input(3, 0); {5228#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,576 INFO L290 TraceCheckUtils]: 3: Hoare triple {5228#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:46,577 INFO L290 TraceCheckUtils]: 4: Hoare triple {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume !!(~i~0#1 < 2); {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:46,577 INFO L290 TraceCheckUtils]: 5: Hoare triple {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:46,578 INFO L290 TraceCheckUtils]: 6: Hoare triple {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:46,578 INFO L290 TraceCheckUtils]: 7: Hoare triple {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:46,579 INFO L290 TraceCheckUtils]: 8: Hoare triple {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[~input#1.base]; {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:46,579 INFO L290 TraceCheckUtils]: 9: Hoare triple {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:46,579 INFO L290 TraceCheckUtils]: 10: Hoare triple {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:46,580 INFO L290 TraceCheckUtils]: 11: Hoare triple {5238#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {5263#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |parse_input_~i~0#1| 1) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,580 INFO L290 TraceCheckUtils]: 12: Hoare triple {5263#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |parse_input_~i~0#1| 1) (= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {5263#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |parse_input_~i~0#1| 1) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:46,581 INFO L290 TraceCheckUtils]: 13: Hoare triple {5263#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |parse_input_~i~0#1| 1) (= |~#commands~0.offset| 0))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {5219#false} is VALID [2022-02-20 23:37:46,581 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:37:46,581 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:46,726 INFO L290 TraceCheckUtils]: 13: Hoare triple {5270#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 4) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {5219#false} is VALID [2022-02-20 23:37:46,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {5270#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 4) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))} assume !!(~i~0#1 < 2); {5270#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 4) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))} is VALID [2022-02-20 23:37:46,727 INFO L290 TraceCheckUtils]: 11: Hoare triple {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {5270#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 4) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))} is VALID [2022-02-20 23:37:46,728 INFO L290 TraceCheckUtils]: 10: Hoare triple {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} is VALID [2022-02-20 23:37:46,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} is VALID [2022-02-20 23:37:46,729 INFO L290 TraceCheckUtils]: 8: Hoare triple {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} assume 1 == #valid[~input#1.base]; {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} is VALID [2022-02-20 23:37:46,729 INFO L290 TraceCheckUtils]: 7: Hoare triple {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} is VALID [2022-02-20 23:37:46,729 INFO L290 TraceCheckUtils]: 6: Hoare triple {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} assume 1 == #valid[#t~mem3#1.base]; {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} is VALID [2022-02-20 23:37:46,730 INFO L290 TraceCheckUtils]: 5: Hoare triple {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} is VALID [2022-02-20 23:37:46,730 INFO L290 TraceCheckUtils]: 4: Hoare triple {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} assume !!(~i~0#1 < 2); {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} is VALID [2022-02-20 23:37:46,731 INFO L290 TraceCheckUtils]: 3: Hoare triple {5302#(and (<= 0 (+ |~#commands~0.offset| 9)) (<= (+ |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {5277#(and (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)) (<= 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))} is VALID [2022-02-20 23:37:46,732 INFO L272 TraceCheckUtils]: 2: Hoare triple {5302#(and (<= 0 (+ |~#commands~0.offset| 9)) (<= (+ |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)))} call parse_input(3, 0); {5302#(and (<= 0 (+ |~#commands~0.offset| 9)) (<= (+ |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:37:46,732 INFO L290 TraceCheckUtils]: 1: Hoare triple {5302#(and (<= 0 (+ |~#commands~0.offset| 9)) (<= (+ |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {5302#(and (<= 0 (+ |~#commands~0.offset| 9)) (<= (+ |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:37:46,733 INFO L290 TraceCheckUtils]: 0: Hoare triple {5218#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {5302#(and (<= 0 (+ |~#commands~0.offset| 9)) (<= (+ |~#commands~0.offset| 13) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:37:46,733 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:37:46,734 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1313270028] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:37:46,734 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:37:46,734 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 3, 3] total 11 [2022-02-20 23:37:46,734 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1705981675] [2022-02-20 23:37:46,734 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:46,735 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 3.25) internal successors, (39), 11 states have internal predecessors, (39), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-20 23:37:46,735 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:46,735 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 13 states, 12 states have (on average 3.25) internal successors, (39), 11 states have internal predecessors, (39), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:46,762 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:37:46,763 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-02-20 23:37:46,763 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:46,763 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-02-20 23:37:46,763 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=40, Invalid=116, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:37:46,764 INFO L87 Difference]: Start difference. First operand 219 states and 331 transitions. Second operand has 13 states, 12 states have (on average 3.25) internal successors, (39), 11 states have internal predecessors, (39), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:47,629 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:47,630 INFO L93 Difference]: Finished difference Result 291 states and 398 transitions. [2022-02-20 23:37:47,630 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:37:47,630 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 12 states have (on average 3.25) internal successors, (39), 11 states have internal predecessors, (39), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 14 [2022-02-20 23:37:47,630 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:47,630 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 3.25) internal successors, (39), 11 states have internal predecessors, (39), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:47,631 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 184 transitions. [2022-02-20 23:37:47,632 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 12 states have (on average 3.25) internal successors, (39), 11 states have internal predecessors, (39), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:47,633 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 184 transitions. [2022-02-20 23:37:47,633 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 184 transitions. [2022-02-20 23:37:47,773 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 184 edges. 184 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:47,778 INFO L225 Difference]: With dead ends: 291 [2022-02-20 23:37:47,778 INFO L226 Difference]: Without dead ends: 291 [2022-02-20 23:37:47,778 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 14 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=68, Invalid=172, Unknown=0, NotChecked=0, Total=240 [2022-02-20 23:37:47,779 INFO L933 BasicCegarLoop]: 110 mSDtfsCounter, 508 mSDsluCounter, 353 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 47 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 508 SdHoareTripleChecker+Valid, 463 SdHoareTripleChecker+Invalid, 252 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 47 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:47,779 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [508 Valid, 463 Invalid, 252 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [47 Valid, 205 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:37:47,780 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 291 states. [2022-02-20 23:37:47,783 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 291 to 225. [2022-02-20 23:37:47,784 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:47,784 INFO L82 GeneralOperation]: Start isEquivalent. First operand 291 states. Second operand has 225 states, 183 states have (on average 1.540983606557377) internal successors, (282), 206 states have internal predecessors, (282), 11 states have call successors, (11), 7 states have call predecessors, (11), 10 states have return successors, (39), 11 states have call predecessors, (39), 11 states have call successors, (39) [2022-02-20 23:37:47,785 INFO L74 IsIncluded]: Start isIncluded. First operand 291 states. Second operand has 225 states, 183 states have (on average 1.540983606557377) internal successors, (282), 206 states have internal predecessors, (282), 11 states have call successors, (11), 7 states have call predecessors, (11), 10 states have return successors, (39), 11 states have call predecessors, (39), 11 states have call successors, (39) [2022-02-20 23:37:47,785 INFO L87 Difference]: Start difference. First operand 291 states. Second operand has 225 states, 183 states have (on average 1.540983606557377) internal successors, (282), 206 states have internal predecessors, (282), 11 states have call successors, (11), 7 states have call predecessors, (11), 10 states have return successors, (39), 11 states have call predecessors, (39), 11 states have call successors, (39) [2022-02-20 23:37:47,791 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:47,791 INFO L93 Difference]: Finished difference Result 291 states and 398 transitions. [2022-02-20 23:37:47,792 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 398 transitions. [2022-02-20 23:37:47,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:47,793 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:47,793 INFO L74 IsIncluded]: Start isIncluded. First operand has 225 states, 183 states have (on average 1.540983606557377) internal successors, (282), 206 states have internal predecessors, (282), 11 states have call successors, (11), 7 states have call predecessors, (11), 10 states have return successors, (39), 11 states have call predecessors, (39), 11 states have call successors, (39) Second operand 291 states. [2022-02-20 23:37:47,794 INFO L87 Difference]: Start difference. First operand has 225 states, 183 states have (on average 1.540983606557377) internal successors, (282), 206 states have internal predecessors, (282), 11 states have call successors, (11), 7 states have call predecessors, (11), 10 states have return successors, (39), 11 states have call predecessors, (39), 11 states have call successors, (39) Second operand 291 states. [2022-02-20 23:37:47,800 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:47,800 INFO L93 Difference]: Finished difference Result 291 states and 398 transitions. [2022-02-20 23:37:47,800 INFO L276 IsEmpty]: Start isEmpty. Operand 291 states and 398 transitions. [2022-02-20 23:37:47,801 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:47,802 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:47,802 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:47,802 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:47,802 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 225 states, 183 states have (on average 1.540983606557377) internal successors, (282), 206 states have internal predecessors, (282), 11 states have call successors, (11), 7 states have call predecessors, (11), 10 states have return successors, (39), 11 states have call predecessors, (39), 11 states have call successors, (39) [2022-02-20 23:37:47,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 225 states to 225 states and 332 transitions. [2022-02-20 23:37:47,807 INFO L78 Accepts]: Start accepts. Automaton has 225 states and 332 transitions. Word has length 14 [2022-02-20 23:37:47,807 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:47,807 INFO L470 AbstractCegarLoop]: Abstraction has 225 states and 332 transitions. [2022-02-20 23:37:47,807 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 12 states have (on average 3.25) internal successors, (39), 11 states have internal predecessors, (39), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:47,808 INFO L276 IsEmpty]: Start isEmpty. Operand 225 states and 332 transitions. [2022-02-20 23:37:47,808 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-02-20 23:37:47,808 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:47,808 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:47,829 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:37:48,026 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:48,026 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:48,027 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:48,027 INFO L85 PathProgramCache]: Analyzing trace with hash 358962923, now seen corresponding path program 1 times [2022-02-20 23:37:48,027 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:48,027 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [114111177] [2022-02-20 23:37:48,027 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:48,027 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:48,039 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:48,160 INFO L290 TraceCheckUtils]: 0: Hoare triple {6415#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,161 INFO L290 TraceCheckUtils]: 1: Hoare triple {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,161 INFO L272 TraceCheckUtils]: 2: Hoare triple {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} call parse_input(3, 0); {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,162 INFO L290 TraceCheckUtils]: 3: Hoare triple {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,162 INFO L290 TraceCheckUtils]: 4: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume !!(~i~0#1 < 2); {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,163 INFO L290 TraceCheckUtils]: 5: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,163 INFO L290 TraceCheckUtils]: 6: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume 1 == #valid[#t~mem3#1.base]; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,164 INFO L290 TraceCheckUtils]: 7: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,164 INFO L290 TraceCheckUtils]: 8: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume 1 == #valid[~input#1.base]; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,165 INFO L290 TraceCheckUtils]: 9: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,165 INFO L290 TraceCheckUtils]: 10: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,166 INFO L290 TraceCheckUtils]: 11: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {6419#(and (or (not (= (+ (- 1) |parse_input_~i~0#1|) 0)) (and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))) (< 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:37:48,166 INFO L290 TraceCheckUtils]: 12: Hoare triple {6419#(and (or (not (= (+ (- 1) |parse_input_~i~0#1|) 0)) (and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))) (< 0 |parse_input_~i~0#1|))} assume !!(~i~0#1 < 2); {6420#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:37:48,167 INFO L290 TraceCheckUtils]: 13: Hoare triple {6420#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1) (= (* 9 |parse_input_~i~0#1|) 9))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {6421#(and (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (= |parse_input_#t~mem3#1.base| 2))} is VALID [2022-02-20 23:37:48,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {6421#(and (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (= |parse_input_#t~mem3#1.base| 2))} assume !(1 == #valid[#t~mem3#1.base]); {6416#false} is VALID [2022-02-20 23:37:48,167 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:37:48,167 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:48,168 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [114111177] [2022-02-20 23:37:48,168 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [114111177] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:48,168 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1137226018] [2022-02-20 23:37:48,168 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:48,168 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:48,168 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:48,169 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:37:48,201 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:37:48,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:48,226 INFO L263 TraceCheckSpWp]: Trace formula consists of 150 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:37:48,231 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:48,232 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:48,392 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 19 treesize of output 7 [2022-02-20 23:37:48,401 INFO L290 TraceCheckUtils]: 0: Hoare triple {6415#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,402 INFO L290 TraceCheckUtils]: 1: Hoare triple {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,402 INFO L272 TraceCheckUtils]: 2: Hoare triple {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} call parse_input(3, 0); {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,405 INFO L290 TraceCheckUtils]: 3: Hoare triple {6417#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,405 INFO L290 TraceCheckUtils]: 4: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume !!(~i~0#1 < 2); {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,406 INFO L290 TraceCheckUtils]: 5: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,406 INFO L290 TraceCheckUtils]: 6: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume 1 == #valid[#t~mem3#1.base]; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,407 INFO L290 TraceCheckUtils]: 7: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,407 INFO L290 TraceCheckUtils]: 8: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume 1 == #valid[~input#1.base]; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,407 INFO L290 TraceCheckUtils]: 9: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,408 INFO L290 TraceCheckUtils]: 10: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} is VALID [2022-02-20 23:37:48,408 INFO L290 TraceCheckUtils]: 11: Hoare triple {6418#(and (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {6420#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:37:48,409 INFO L290 TraceCheckUtils]: 12: Hoare triple {6420#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1) (= (* 9 |parse_input_~i~0#1|) 9))} assume !!(~i~0#1 < 2); {6420#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:37:48,410 INFO L290 TraceCheckUtils]: 13: Hoare triple {6420#(and (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (select |#valid| 2) 1) (= (* 9 |parse_input_~i~0#1|) 9))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {6421#(and (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (= |parse_input_#t~mem3#1.base| 2))} is VALID [2022-02-20 23:37:48,410 INFO L290 TraceCheckUtils]: 14: Hoare triple {6421#(and (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (= |parse_input_#t~mem3#1.base| 2))} assume !(1 == #valid[#t~mem3#1.base]); {6416#false} is VALID [2022-02-20 23:37:48,410 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:37:48,410 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:48,479 INFO L290 TraceCheckUtils]: 14: Hoare triple {6467#(= (select |#valid| |parse_input_#t~mem3#1.base|) 1)} assume !(1 == #valid[#t~mem3#1.base]); {6416#false} is VALID [2022-02-20 23:37:48,480 INFO L290 TraceCheckUtils]: 13: Hoare triple {6471#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) 1)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {6467#(= (select |#valid| |parse_input_#t~mem3#1.base|) 1)} is VALID [2022-02-20 23:37:48,487 INFO L290 TraceCheckUtils]: 12: Hoare triple {6471#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) 1)} assume !!(~i~0#1 < 2); {6471#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) 1)} is VALID [2022-02-20 23:37:48,488 INFO L290 TraceCheckUtils]: 11: Hoare triple {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {6471#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) 1)} is VALID [2022-02-20 23:37:48,488 INFO L290 TraceCheckUtils]: 10: Hoare triple {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,489 INFO L290 TraceCheckUtils]: 9: Hoare triple {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,489 INFO L290 TraceCheckUtils]: 8: Hoare triple {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} assume 1 == #valid[~input#1.base]; {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,490 INFO L290 TraceCheckUtils]: 7: Hoare triple {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,490 INFO L290 TraceCheckUtils]: 6: Hoare triple {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} assume 1 == #valid[#t~mem3#1.base]; {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,491 INFO L290 TraceCheckUtils]: 5: Hoare triple {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,491 INFO L290 TraceCheckUtils]: 4: Hoare triple {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} assume !!(~i~0#1 < 2); {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,492 INFO L290 TraceCheckUtils]: 3: Hoare triple {6503#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9))) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {6478#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,492 INFO L272 TraceCheckUtils]: 2: Hoare triple {6503#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9))) 1)} call parse_input(3, 0); {6503#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,493 INFO L290 TraceCheckUtils]: 1: Hoare triple {6503#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9))) 1)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {6503#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,494 INFO L290 TraceCheckUtils]: 0: Hoare triple {6415#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {6503#(= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9))) 1)} is VALID [2022-02-20 23:37:48,494 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:37:48,494 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1137226018] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:37:48,494 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:37:48,494 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 4] total 9 [2022-02-20 23:37:48,495 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [844146428] [2022-02-20 23:37:48,495 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:48,495 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 15 [2022-02-20 23:37:48,496 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:48,496 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:48,515 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 32 edges. 32 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:48,516 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:37:48,516 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:48,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:37:48,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=82, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:37:48,517 INFO L87 Difference]: Start difference. First operand 225 states and 332 transitions. Second operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:49,445 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:49,445 INFO L93 Difference]: Finished difference Result 336 states and 471 transitions. [2022-02-20 23:37:49,445 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:37:49,445 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 15 [2022-02-20 23:37:49,445 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:49,446 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:49,447 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 195 transitions. [2022-02-20 23:37:49,447 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:49,449 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 195 transitions. [2022-02-20 23:37:49,449 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 195 transitions. [2022-02-20 23:37:49,579 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 195 edges. 195 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:49,584 INFO L225 Difference]: With dead ends: 336 [2022-02-20 23:37:49,584 INFO L226 Difference]: Without dead ends: 336 [2022-02-20 23:37:49,584 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 23 SyntacticMatches, 2 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=51, Invalid=131, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:37:49,585 INFO L933 BasicCegarLoop]: 90 mSDtfsCounter, 247 mSDsluCounter, 364 mSDsCounter, 0 mSdLazyCounter, 401 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 247 SdHoareTripleChecker+Valid, 454 SdHoareTripleChecker+Invalid, 420 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 401 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:49,585 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [247 Valid, 454 Invalid, 420 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 401 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:37:49,586 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 336 states. [2022-02-20 23:37:49,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 336 to 239. [2022-02-20 23:37:49,602 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:49,602 INFO L82 GeneralOperation]: Start isEquivalent. First operand 336 states. Second operand has 239 states, 194 states have (on average 1.5257731958762886) internal successors, (296), 220 states have internal predecessors, (296), 11 states have call successors, (11), 7 states have call predecessors, (11), 13 states have return successors, (46), 11 states have call predecessors, (46), 11 states have call successors, (46) [2022-02-20 23:37:49,603 INFO L74 IsIncluded]: Start isIncluded. First operand 336 states. Second operand has 239 states, 194 states have (on average 1.5257731958762886) internal successors, (296), 220 states have internal predecessors, (296), 11 states have call successors, (11), 7 states have call predecessors, (11), 13 states have return successors, (46), 11 states have call predecessors, (46), 11 states have call successors, (46) [2022-02-20 23:37:49,603 INFO L87 Difference]: Start difference. First operand 336 states. Second operand has 239 states, 194 states have (on average 1.5257731958762886) internal successors, (296), 220 states have internal predecessors, (296), 11 states have call successors, (11), 7 states have call predecessors, (11), 13 states have return successors, (46), 11 states have call predecessors, (46), 11 states have call successors, (46) [2022-02-20 23:37:49,611 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:49,611 INFO L93 Difference]: Finished difference Result 336 states and 471 transitions. [2022-02-20 23:37:49,611 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 471 transitions. [2022-02-20 23:37:49,612 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:49,612 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:49,613 INFO L74 IsIncluded]: Start isIncluded. First operand has 239 states, 194 states have (on average 1.5257731958762886) internal successors, (296), 220 states have internal predecessors, (296), 11 states have call successors, (11), 7 states have call predecessors, (11), 13 states have return successors, (46), 11 states have call predecessors, (46), 11 states have call successors, (46) Second operand 336 states. [2022-02-20 23:37:49,613 INFO L87 Difference]: Start difference. First operand has 239 states, 194 states have (on average 1.5257731958762886) internal successors, (296), 220 states have internal predecessors, (296), 11 states have call successors, (11), 7 states have call predecessors, (11), 13 states have return successors, (46), 11 states have call predecessors, (46), 11 states have call successors, (46) Second operand 336 states. [2022-02-20 23:37:49,621 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:49,621 INFO L93 Difference]: Finished difference Result 336 states and 471 transitions. [2022-02-20 23:37:49,621 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 471 transitions. [2022-02-20 23:37:49,622 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:49,622 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:49,622 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:49,622 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:49,624 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 239 states, 194 states have (on average 1.5257731958762886) internal successors, (296), 220 states have internal predecessors, (296), 11 states have call successors, (11), 7 states have call predecessors, (11), 13 states have return successors, (46), 11 states have call predecessors, (46), 11 states have call successors, (46) [2022-02-20 23:37:49,628 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 239 states to 239 states and 353 transitions. [2022-02-20 23:37:49,629 INFO L78 Accepts]: Start accepts. Automaton has 239 states and 353 transitions. Word has length 15 [2022-02-20 23:37:49,629 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:49,629 INFO L470 AbstractCegarLoop]: Abstraction has 239 states and 353 transitions. [2022-02-20 23:37:49,629 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 10 states have internal predecessors, (30), 2 states have call successors, (2), 2 states have call predecessors, (2), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:49,629 INFO L276 IsEmpty]: Start isEmpty. Operand 239 states and 353 transitions. [2022-02-20 23:37:49,630 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 17 [2022-02-20 23:37:49,630 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:49,630 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:49,655 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:37:49,848 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,SelfDestructingSolverStorable7 [2022-02-20 23:37:49,849 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:49,849 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:49,849 INFO L85 PathProgramCache]: Analyzing trace with hash -1757051230, now seen corresponding path program 1 times [2022-02-20 23:37:49,850 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:49,850 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [719410254] [2022-02-20 23:37:49,850 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:49,850 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:49,869 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:49,982 INFO L290 TraceCheckUtils]: 0: Hoare triple {7765#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {7767#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,983 INFO L290 TraceCheckUtils]: 1: Hoare triple {7767#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {7767#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,983 INFO L272 TraceCheckUtils]: 2: Hoare triple {7767#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} call parse_input(3, 0); {7767#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,984 INFO L290 TraceCheckUtils]: 3: Hoare triple {7767#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,984 INFO L290 TraceCheckUtils]: 4: Hoare triple {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume !!(~i~0#1 < 2); {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,985 INFO L290 TraceCheckUtils]: 5: Hoare triple {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,988 INFO L290 TraceCheckUtils]: 6: Hoare triple {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume 1 == #valid[#t~mem3#1.base]; {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,989 INFO L290 TraceCheckUtils]: 7: Hoare triple {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,989 INFO L290 TraceCheckUtils]: 8: Hoare triple {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume 1 == #valid[~input#1.base]; {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,990 INFO L290 TraceCheckUtils]: 10: Hoare triple {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:49,991 INFO L290 TraceCheckUtils]: 11: Hoare triple {7768#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {7769#(and (< 0 |parse_input_~i~0#1|) (or (not (= (+ |~#commands~0.offset| 9) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))))} is VALID [2022-02-20 23:37:49,991 INFO L290 TraceCheckUtils]: 12: Hoare triple {7769#(and (< 0 |parse_input_~i~0#1|) (or (not (= (+ |~#commands~0.offset| 9) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))))} assume !!(~i~0#1 < 2); {7770#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (+ |~#commands~0.offset| 9) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))} is VALID [2022-02-20 23:37:49,992 INFO L290 TraceCheckUtils]: 13: Hoare triple {7770#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2) (= (+ |~#commands~0.offset| 9) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {7771#(and (= |parse_input_#t~mem3#1.offset| 0) (= (+ (select |#length| |parse_input_#t~mem3#1.base|) (- 3)) 0))} is VALID [2022-02-20 23:37:49,992 INFO L290 TraceCheckUtils]: 14: Hoare triple {7771#(and (= |parse_input_#t~mem3#1.offset| 0) (= (+ (select |#length| |parse_input_#t~mem3#1.base|) (- 3)) 0))} assume 1 == #valid[#t~mem3#1.base]; {7771#(and (= |parse_input_#t~mem3#1.offset| 0) (= (+ (select |#length| |parse_input_#t~mem3#1.base|) (- 3)) 0))} is VALID [2022-02-20 23:37:49,992 INFO L290 TraceCheckUtils]: 15: Hoare triple {7771#(and (= |parse_input_#t~mem3#1.offset| 0) (= (+ (select |#length| |parse_input_#t~mem3#1.base|) (- 3)) 0))} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {7766#false} is VALID [2022-02-20 23:37:49,993 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:49,993 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:49,993 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [719410254] [2022-02-20 23:37:49,993 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [719410254] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:49,993 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [811143322] [2022-02-20 23:37:49,993 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:49,993 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:49,994 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:49,995 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:37:49,996 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:37:50,037 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:50,038 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:37:50,043 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:50,043 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:50,287 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 19 treesize of output 7 [2022-02-20 23:37:50,304 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 19 treesize of output 7 [2022-02-20 23:37:50,323 INFO L290 TraceCheckUtils]: 0: Hoare triple {7765#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {7775#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,324 INFO L290 TraceCheckUtils]: 1: Hoare triple {7775#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {7775#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,324 INFO L272 TraceCheckUtils]: 2: Hoare triple {7775#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} call parse_input(3, 0); {7775#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,325 INFO L290 TraceCheckUtils]: 3: Hoare triple {7775#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,325 INFO L290 TraceCheckUtils]: 4: Hoare triple {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume !!(~i~0#1 < 2); {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,326 INFO L290 TraceCheckUtils]: 5: Hoare triple {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,326 INFO L290 TraceCheckUtils]: 6: Hoare triple {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume 1 == #valid[#t~mem3#1.base]; {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,327 INFO L290 TraceCheckUtils]: 7: Hoare triple {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,327 INFO L290 TraceCheckUtils]: 8: Hoare triple {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume 1 == #valid[~input#1.base]; {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,328 INFO L290 TraceCheckUtils]: 10: Hoare triple {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,329 INFO L290 TraceCheckUtils]: 11: Hoare triple {7785#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (<= 3 (select |#length| 2)) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {7810#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= (+ (- 1) |parse_input_~i~0#1|) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,329 INFO L290 TraceCheckUtils]: 12: Hoare triple {7810#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= (+ (- 1) |parse_input_~i~0#1|) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} assume !!(~i~0#1 < 2); {7810#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= (+ (- 1) |parse_input_~i~0#1|) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} is VALID [2022-02-20 23:37:50,330 INFO L290 TraceCheckUtils]: 13: Hoare triple {7810#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 0) (= (+ (- 1) |parse_input_~i~0#1|) 0) (<= 3 (select |#length| 2)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) 2))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {7817#(and (<= 3 (select |#length| 2)) (= |parse_input_#t~mem3#1.base| 2) (= |parse_input_#t~mem3#1.offset| 0))} is VALID [2022-02-20 23:37:50,330 INFO L290 TraceCheckUtils]: 14: Hoare triple {7817#(and (<= 3 (select |#length| 2)) (= |parse_input_#t~mem3#1.base| 2) (= |parse_input_#t~mem3#1.offset| 0))} assume 1 == #valid[#t~mem3#1.base]; {7817#(and (<= 3 (select |#length| 2)) (= |parse_input_#t~mem3#1.base| 2) (= |parse_input_#t~mem3#1.offset| 0))} is VALID [2022-02-20 23:37:50,330 INFO L290 TraceCheckUtils]: 15: Hoare triple {7817#(and (<= 3 (select |#length| 2)) (= |parse_input_#t~mem3#1.base| 2) (= |parse_input_#t~mem3#1.offset| 0))} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {7766#false} is VALID [2022-02-20 23:37:50,331 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:50,331 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:50,518 INFO L290 TraceCheckUtils]: 15: Hoare triple {7824#(and (< |parse_input_#t~mem3#1.offset| (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {7766#false} is VALID [2022-02-20 23:37:50,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {7824#(and (< |parse_input_#t~mem3#1.offset| (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} assume 1 == #valid[#t~mem3#1.base]; {7824#(and (< |parse_input_#t~mem3#1.offset| (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} is VALID [2022-02-20 23:37:50,519 INFO L290 TraceCheckUtils]: 13: Hoare triple {7831#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {7824#(and (< |parse_input_#t~mem3#1.offset| (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} is VALID [2022-02-20 23:37:50,520 INFO L290 TraceCheckUtils]: 12: Hoare triple {7831#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} assume !!(~i~0#1 < 2); {7831#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} is VALID [2022-02-20 23:37:50,520 INFO L290 TraceCheckUtils]: 11: Hoare triple {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {7831#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} is VALID [2022-02-20 23:37:50,521 INFO L290 TraceCheckUtils]: 10: Hoare triple {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} is VALID [2022-02-20 23:37:50,521 INFO L290 TraceCheckUtils]: 9: Hoare triple {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} is VALID [2022-02-20 23:37:50,522 INFO L290 TraceCheckUtils]: 8: Hoare triple {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} assume 1 == #valid[~input#1.base]; {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} is VALID [2022-02-20 23:37:50,522 INFO L290 TraceCheckUtils]: 7: Hoare triple {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} is VALID [2022-02-20 23:37:50,523 INFO L290 TraceCheckUtils]: 6: Hoare triple {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} assume 1 == #valid[#t~mem3#1.base]; {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} is VALID [2022-02-20 23:37:50,523 INFO L290 TraceCheckUtils]: 5: Hoare triple {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} is VALID [2022-02-20 23:37:50,524 INFO L290 TraceCheckUtils]: 4: Hoare triple {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} assume !!(~i~0#1 < 2); {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} is VALID [2022-02-20 23:37:50,524 INFO L290 TraceCheckUtils]: 3: Hoare triple {7863#(and (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)))) (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9))))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {7838#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9))) (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset| 9)))))} is VALID [2022-02-20 23:37:50,525 INFO L272 TraceCheckUtils]: 2: Hoare triple {7863#(and (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)))) (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9))))} call parse_input(3, 0); {7863#(and (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)))) (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9))))} is VALID [2022-02-20 23:37:50,525 INFO L290 TraceCheckUtils]: 1: Hoare triple {7863#(and (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)))) (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9))))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {7863#(and (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)))) (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9))))} is VALID [2022-02-20 23:37:50,527 INFO L290 TraceCheckUtils]: 0: Hoare triple {7765#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {7863#(and (< (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9)) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ |~#commands~0.offset| 9)))) (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 9))))} is VALID [2022-02-20 23:37:50,527 INFO L134 CoverageAnalysis]: Checked inductivity of 4 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:50,527 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [811143322] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:37:50,527 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:37:50,527 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 4] total 13 [2022-02-20 23:37:50,527 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [304355975] [2022-02-20 23:37:50,528 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:50,528 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (3), 3 states have call predecessors, (3), 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:37:50,528 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:50,528 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:50,567 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:50,567 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:37:50,567 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:50,567 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:37:50,567 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:37:50,567 INFO L87 Difference]: Start difference. First operand 239 states and 353 transitions. Second operand has 15 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,127 INFO L93 Difference]: Finished difference Result 550 states and 739 transitions. [2022-02-20 23:37:52,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 19 states. [2022-02-20 23:37:52,127 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (3), 3 states have call predecessors, (3), 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:37:52,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:52,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,130 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 367 transitions. [2022-02-20 23:37:52,130 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,132 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 19 states to 19 states and 367 transitions. [2022-02-20 23:37:52,133 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 19 states and 367 transitions. [2022-02-20 23:37:52,424 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 367 edges. 367 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:52,435 INFO L225 Difference]: With dead ends: 550 [2022-02-20 23:37:52,435 INFO L226 Difference]: Without dead ends: 550 [2022-02-20 23:37:52,436 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 47 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 141 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=137, Invalid=513, Unknown=0, NotChecked=0, Total=650 [2022-02-20 23:37:52,436 INFO L933 BasicCegarLoop]: 122 mSDtfsCounter, 634 mSDsluCounter, 486 mSDsCounter, 0 mSdLazyCounter, 344 mSolverCounterSat, 56 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 634 SdHoareTripleChecker+Valid, 608 SdHoareTripleChecker+Invalid, 400 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 56 IncrementalHoareTripleChecker+Valid, 344 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:52,437 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [634 Valid, 608 Invalid, 400 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [56 Valid, 344 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-02-20 23:37:52,437 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 550 states. [2022-02-20 23:37:52,443 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 550 to 345. [2022-02-20 23:37:52,443 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:52,444 INFO L82 GeneralOperation]: Start isEquivalent. First operand 550 states. Second operand has 345 states, 289 states have (on average 1.5536332179930796) internal successors, (449), 320 states have internal predecessors, (449), 14 states have call successors, (14), 10 states have call predecessors, (14), 21 states have return successors, (60), 14 states have call predecessors, (60), 14 states have call successors, (60) [2022-02-20 23:37:52,444 INFO L74 IsIncluded]: Start isIncluded. First operand 550 states. Second operand has 345 states, 289 states have (on average 1.5536332179930796) internal successors, (449), 320 states have internal predecessors, (449), 14 states have call successors, (14), 10 states have call predecessors, (14), 21 states have return successors, (60), 14 states have call predecessors, (60), 14 states have call successors, (60) [2022-02-20 23:37:52,445 INFO L87 Difference]: Start difference. First operand 550 states. Second operand has 345 states, 289 states have (on average 1.5536332179930796) internal successors, (449), 320 states have internal predecessors, (449), 14 states have call successors, (14), 10 states have call predecessors, (14), 21 states have return successors, (60), 14 states have call predecessors, (60), 14 states have call successors, (60) [2022-02-20 23:37:52,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,459 INFO L93 Difference]: Finished difference Result 550 states and 739 transitions. [2022-02-20 23:37:52,460 INFO L276 IsEmpty]: Start isEmpty. Operand 550 states and 739 transitions. [2022-02-20 23:37:52,461 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:52,461 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:52,462 INFO L74 IsIncluded]: Start isIncluded. First operand has 345 states, 289 states have (on average 1.5536332179930796) internal successors, (449), 320 states have internal predecessors, (449), 14 states have call successors, (14), 10 states have call predecessors, (14), 21 states have return successors, (60), 14 states have call predecessors, (60), 14 states have call successors, (60) Second operand 550 states. [2022-02-20 23:37:52,463 INFO L87 Difference]: Start difference. First operand has 345 states, 289 states have (on average 1.5536332179930796) internal successors, (449), 320 states have internal predecessors, (449), 14 states have call successors, (14), 10 states have call predecessors, (14), 21 states have return successors, (60), 14 states have call predecessors, (60), 14 states have call successors, (60) Second operand 550 states. [2022-02-20 23:37:52,477 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,477 INFO L93 Difference]: Finished difference Result 550 states and 739 transitions. [2022-02-20 23:37:52,477 INFO L276 IsEmpty]: Start isEmpty. Operand 550 states and 739 transitions. [2022-02-20 23:37:52,479 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:52,479 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:52,479 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:52,479 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:52,480 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 345 states, 289 states have (on average 1.5536332179930796) internal successors, (449), 320 states have internal predecessors, (449), 14 states have call successors, (14), 10 states have call predecessors, (14), 21 states have return successors, (60), 14 states have call predecessors, (60), 14 states have call successors, (60) [2022-02-20 23:37:52,486 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 345 states to 345 states and 523 transitions. [2022-02-20 23:37:52,487 INFO L78 Accepts]: Start accepts. Automaton has 345 states and 523 transitions. Word has length 16 [2022-02-20 23:37:52,487 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:52,487 INFO L470 AbstractCegarLoop]: Abstraction has 345 states and 523 transitions. [2022-02-20 23:37:52,487 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 3.2142857142857144) internal successors, (45), 14 states have internal predecessors, (45), 3 states have call successors, (3), 3 states have call predecessors, (3), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,487 INFO L276 IsEmpty]: Start isEmpty. Operand 345 states and 523 transitions. [2022-02-20 23:37:52,488 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:37:52,488 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:52,488 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:52,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:37:52,703 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:52,703 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting parse_inputErr10ASSERT_VIOLATIONMEMORY_FREE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:52,704 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:52,704 INFO L85 PathProgramCache]: Analyzing trace with hash 1592986564, now seen corresponding path program 1 times [2022-02-20 23:37:52,704 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:52,704 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1333847214] [2022-02-20 23:37:52,704 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:52,704 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:52,727 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:52,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {9889#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {9891#(= ~global~0.offset 0)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,743 INFO L272 TraceCheckUtils]: 2: Hoare triple {9891#(= ~global~0.offset 0)} call parse_input(3, 0); {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,745 INFO L290 TraceCheckUtils]: 3: Hoare triple {9891#(= ~global~0.offset 0)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,746 INFO L290 TraceCheckUtils]: 4: Hoare triple {9891#(= ~global~0.offset 0)} assume !!(~i~0#1 < 2); {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,746 INFO L290 TraceCheckUtils]: 5: Hoare triple {9891#(= ~global~0.offset 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,747 INFO L290 TraceCheckUtils]: 6: Hoare triple {9891#(= ~global~0.offset 0)} assume 1 == #valid[#t~mem3#1.base]; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,747 INFO L290 TraceCheckUtils]: 7: Hoare triple {9891#(= ~global~0.offset 0)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,747 INFO L290 TraceCheckUtils]: 8: Hoare triple {9891#(= ~global~0.offset 0)} assume 1 == #valid[~input#1.base]; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {9891#(= ~global~0.offset 0)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,748 INFO L290 TraceCheckUtils]: 10: Hoare triple {9891#(= ~global~0.offset 0)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,749 INFO L290 TraceCheckUtils]: 11: Hoare triple {9891#(= ~global~0.offset 0)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,749 INFO L290 TraceCheckUtils]: 12: Hoare triple {9891#(= ~global~0.offset 0)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {9891#(= ~global~0.offset 0)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {9891#(= ~global~0.offset 0)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,750 INFO L290 TraceCheckUtils]: 15: Hoare triple {9891#(= ~global~0.offset 0)} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,750 INFO L290 TraceCheckUtils]: 16: Hoare triple {9891#(= ~global~0.offset 0)} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {9891#(= ~global~0.offset 0)} is VALID [2022-02-20 23:37:52,750 INFO L290 TraceCheckUtils]: 17: Hoare triple {9891#(= ~global~0.offset 0)} assume !(0 == ~global~0.offset); {9890#false} is VALID [2022-02-20 23:37:52,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:37:52,751 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:52,751 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1333847214] [2022-02-20 23:37:52,752 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1333847214] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:52,752 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:52,752 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2022-02-20 23:37:52,752 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [653175328] [2022-02-20 23:37:52,752 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:52,752 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 8.5) internal successors, (17), 2 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:37:52,753 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:52,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 8.5) internal successors, (17), 2 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,763 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:52,763 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:52,763 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:52,764 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:52,764 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:52,764 INFO L87 Difference]: Start difference. First operand 345 states and 523 transitions. Second operand has 3 states, 2 states have (on average 8.5) internal successors, (17), 2 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,840 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,840 INFO L93 Difference]: Finished difference Result 495 states and 752 transitions. [2022-02-20 23:37:52,840 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:52,840 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 8.5) internal successors, (17), 2 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:37:52,840 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:52,840 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 8.5) internal successors, (17), 2 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 129 transitions. [2022-02-20 23:37:52,842 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 8.5) internal successors, (17), 2 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,842 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 129 transitions. [2022-02-20 23:37:52,843 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 129 transitions. [2022-02-20 23:37:52,915 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 129 edges. 129 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:52,924 INFO L225 Difference]: With dead ends: 495 [2022-02-20 23:37:52,925 INFO L226 Difference]: Without dead ends: 495 [2022-02-20 23:37:52,925 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:37:52,925 INFO L933 BasicCegarLoop]: 71 mSDtfsCounter, 52 mSDsluCounter, 46 mSDsCounter, 0 mSdLazyCounter, 14 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 52 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 20 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 14 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:52,926 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [52 Valid, 117 Invalid, 20 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 14 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:37:52,927 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 495 states. [2022-02-20 23:37:52,936 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 495 to 479. [2022-02-20 23:37:52,937 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:52,938 INFO L82 GeneralOperation]: Start isEquivalent. First operand 495 states. Second operand has 479 states, 409 states have (on average 1.5574572127139363) internal successors, (637), 445 states have internal predecessors, (637), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) [2022-02-20 23:37:52,939 INFO L74 IsIncluded]: Start isIncluded. First operand 495 states. Second operand has 479 states, 409 states have (on average 1.5574572127139363) internal successors, (637), 445 states have internal predecessors, (637), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) [2022-02-20 23:37:52,940 INFO L87 Difference]: Start difference. First operand 495 states. Second operand has 479 states, 409 states have (on average 1.5574572127139363) internal successors, (637), 445 states have internal predecessors, (637), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) [2022-02-20 23:37:52,953 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,954 INFO L93 Difference]: Finished difference Result 495 states and 752 transitions. [2022-02-20 23:37:52,954 INFO L276 IsEmpty]: Start isEmpty. Operand 495 states and 752 transitions. [2022-02-20 23:37:52,955 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:52,956 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:52,956 INFO L74 IsIncluded]: Start isIncluded. First operand has 479 states, 409 states have (on average 1.5574572127139363) internal successors, (637), 445 states have internal predecessors, (637), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) Second operand 495 states. [2022-02-20 23:37:52,957 INFO L87 Difference]: Start difference. First operand has 479 states, 409 states have (on average 1.5574572127139363) internal successors, (637), 445 states have internal predecessors, (637), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) Second operand 495 states. [2022-02-20 23:37:52,969 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:52,970 INFO L93 Difference]: Finished difference Result 495 states and 752 transitions. [2022-02-20 23:37:52,970 INFO L276 IsEmpty]: Start isEmpty. Operand 495 states and 752 transitions. [2022-02-20 23:37:52,972 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:52,972 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:52,972 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:52,972 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:52,973 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 479 states, 409 states have (on average 1.5574572127139363) internal successors, (637), 445 states have internal predecessors, (637), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) [2022-02-20 23:37:52,984 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 479 states to 479 states and 747 transitions. [2022-02-20 23:37:52,985 INFO L78 Accepts]: Start accepts. Automaton has 479 states and 747 transitions. Word has length 18 [2022-02-20 23:37:52,985 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:52,985 INFO L470 AbstractCegarLoop]: Abstraction has 479 states and 747 transitions. [2022-02-20 23:37:52,985 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 8.5) internal successors, (17), 2 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:52,985 INFO L276 IsEmpty]: Start isEmpty. Operand 479 states and 747 transitions. [2022-02-20 23:37:52,985 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 19 [2022-02-20 23:37:52,986 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:52,986 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:52,986 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 23:37:52,986 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting parse_inputErr13ASSERT_VIOLATIONMEMORY_FREE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:52,986 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:52,986 INFO L85 PathProgramCache]: Analyzing trace with hash 1592986820, now seen corresponding path program 1 times [2022-02-20 23:37:52,986 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:52,987 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1772484370] [2022-02-20 23:37:52,987 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:52,987 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:52,999 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,021 INFO L290 TraceCheckUtils]: 0: Hoare triple {11858#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {11858#true} is VALID [2022-02-20 23:37:53,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {11858#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {11858#true} is VALID [2022-02-20 23:37:53,021 INFO L272 TraceCheckUtils]: 2: Hoare triple {11858#true} call parse_input(3, 0); {11858#true} is VALID [2022-02-20 23:37:53,022 INFO L290 TraceCheckUtils]: 3: Hoare triple {11858#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {11858#true} is VALID [2022-02-20 23:37:53,024 INFO L290 TraceCheckUtils]: 4: Hoare triple {11858#true} assume !!(~i~0#1 < 2); {11858#true} is VALID [2022-02-20 23:37:53,025 INFO L290 TraceCheckUtils]: 5: Hoare triple {11858#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {11858#true} is VALID [2022-02-20 23:37:53,025 INFO L290 TraceCheckUtils]: 6: Hoare triple {11858#true} assume 1 == #valid[#t~mem3#1.base]; {11858#true} is VALID [2022-02-20 23:37:53,025 INFO L290 TraceCheckUtils]: 7: Hoare triple {11858#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {11858#true} is VALID [2022-02-20 23:37:53,025 INFO L290 TraceCheckUtils]: 8: Hoare triple {11858#true} assume 1 == #valid[~input#1.base]; {11858#true} is VALID [2022-02-20 23:37:53,025 INFO L290 TraceCheckUtils]: 9: Hoare triple {11858#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {11858#true} is VALID [2022-02-20 23:37:53,025 INFO L290 TraceCheckUtils]: 10: Hoare triple {11858#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {11858#true} is VALID [2022-02-20 23:37:53,025 INFO L290 TraceCheckUtils]: 11: Hoare triple {11858#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {11858#true} is VALID [2022-02-20 23:37:53,025 INFO L290 TraceCheckUtils]: 12: Hoare triple {11858#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {11858#true} is VALID [2022-02-20 23:37:53,026 INFO L290 TraceCheckUtils]: 13: Hoare triple {11858#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {11858#true} is VALID [2022-02-20 23:37:53,026 INFO L290 TraceCheckUtils]: 14: Hoare triple {11858#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {11858#true} is VALID [2022-02-20 23:37:53,026 INFO L290 TraceCheckUtils]: 15: Hoare triple {11858#true} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {11860#(and (= |parse_input_c2_~y~0#1.base| 0) (= |parse_input_c2_~y~0#1.offset| 0))} is VALID [2022-02-20 23:37:53,027 INFO L290 TraceCheckUtils]: 16: Hoare triple {11860#(and (= |parse_input_c2_~y~0#1.base| 0) (= |parse_input_c2_~y~0#1.offset| 0))} assume !((c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0)); {11859#false} is VALID [2022-02-20 23:37:53,027 INFO L290 TraceCheckUtils]: 17: Hoare triple {11859#false} assume !(0 == c2_~y~0#1.offset); {11859#false} is VALID [2022-02-20 23:37:53,027 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:53,027 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:53,027 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1772484370] [2022-02-20 23:37:53,027 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1772484370] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:53,028 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:53,028 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:37:53,028 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1002846208] [2022-02-20 23:37:53,028 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:53,028 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:37:53,028 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:53,028 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,038 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 18 edges. 18 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:53,038 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:53,038 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:53,038 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:53,039 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:53,039 INFO L87 Difference]: Start difference. First operand 479 states and 747 transitions. Second operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,089 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,089 INFO L93 Difference]: Finished difference Result 441 states and 681 transitions. [2022-02-20 23:37:53,089 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:53,090 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 18 [2022-02-20 23:37:53,090 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:53,090 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2022-02-20 23:37:53,091 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,091 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 64 transitions. [2022-02-20 23:37:53,091 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 64 transitions. [2022-02-20 23:37:53,129 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:53,136 INFO L225 Difference]: With dead ends: 441 [2022-02-20 23:37:53,137 INFO L226 Difference]: Without dead ends: 441 [2022-02-20 23:37:53,137 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 2 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:37:53,138 INFO L933 BasicCegarLoop]: 62 mSDtfsCounter, 10 mSDsluCounter, 52 mSDsCounter, 0 mSdLazyCounter, 1 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 114 SdHoareTripleChecker+Invalid, 1 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 1 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:53,138 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [10 Valid, 114 Invalid, 1 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 1 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:37:53,139 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 441 states. [2022-02-20 23:37:53,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 441 to 441. [2022-02-20 23:37:53,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:53,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 441 states. Second operand has 441 states, 377 states have (on average 1.5145888594164456) internal successors, (571), 407 states have internal predecessors, (571), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) [2022-02-20 23:37:53,147 INFO L74 IsIncluded]: Start isIncluded. First operand 441 states. Second operand has 441 states, 377 states have (on average 1.5145888594164456) internal successors, (571), 407 states have internal predecessors, (571), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) [2022-02-20 23:37:53,149 INFO L87 Difference]: Start difference. First operand 441 states. Second operand has 441 states, 377 states have (on average 1.5145888594164456) internal successors, (571), 407 states have internal predecessors, (571), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) [2022-02-20 23:37:53,159 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,160 INFO L93 Difference]: Finished difference Result 441 states and 681 transitions. [2022-02-20 23:37:53,160 INFO L276 IsEmpty]: Start isEmpty. Operand 441 states and 681 transitions. [2022-02-20 23:37:53,162 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,162 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,163 INFO L74 IsIncluded]: Start isIncluded. First operand has 441 states, 377 states have (on average 1.5145888594164456) internal successors, (571), 407 states have internal predecessors, (571), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) Second operand 441 states. [2022-02-20 23:37:53,164 INFO L87 Difference]: Start difference. First operand has 441 states, 377 states have (on average 1.5145888594164456) internal successors, (571), 407 states have internal predecessors, (571), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) Second operand 441 states. [2022-02-20 23:37:53,174 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,175 INFO L93 Difference]: Finished difference Result 441 states and 681 transitions. [2022-02-20 23:37:53,175 INFO L276 IsEmpty]: Start isEmpty. Operand 441 states and 681 transitions. [2022-02-20 23:37:53,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:53,177 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:53,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 441 states, 377 states have (on average 1.5145888594164456) internal successors, (571), 407 states have internal predecessors, (571), 19 states have call successors, (19), 14 states have call predecessors, (19), 30 states have return successors, (91), 19 states have call predecessors, (91), 19 states have call successors, (91) [2022-02-20 23:37:53,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 441 states to 441 states and 681 transitions. [2022-02-20 23:37:53,188 INFO L78 Accepts]: Start accepts. Automaton has 441 states and 681 transitions. Word has length 18 [2022-02-20 23:37:53,188 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:53,188 INFO L470 AbstractCegarLoop]: Abstraction has 441 states and 681 transitions. [2022-02-20 23:37:53,188 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 5.666666666666667) internal successors, (17), 3 states have internal predecessors, (17), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,188 INFO L276 IsEmpty]: Start isEmpty. Operand 441 states and 681 transitions. [2022-02-20 23:37:53,188 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 20 [2022-02-20 23:37:53,189 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:53,189 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:53,189 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-02-20 23:37:53,189 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting parse_inputErr11ASSERT_VIOLATIONMEMORY_FREE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:53,189 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:53,189 INFO L85 PathProgramCache]: Analyzing trace with hash 2137943300, now seen corresponding path program 1 times [2022-02-20 23:37:53,190 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:53,190 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [897347237] [2022-02-20 23:37:53,190 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:53,190 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:53,201 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,221 INFO L290 TraceCheckUtils]: 0: Hoare triple {13627#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,222 INFO L272 TraceCheckUtils]: 2: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} call parse_input(3, 0); {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,223 INFO L290 TraceCheckUtils]: 3: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,223 INFO L290 TraceCheckUtils]: 4: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume !!(~i~0#1 < 2); {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,224 INFO L290 TraceCheckUtils]: 5: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,224 INFO L290 TraceCheckUtils]: 6: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume 1 == #valid[#t~mem3#1.base]; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,224 INFO L290 TraceCheckUtils]: 7: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,225 INFO L290 TraceCheckUtils]: 8: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume 1 == #valid[~input#1.base]; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,225 INFO L290 TraceCheckUtils]: 9: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,225 INFO L290 TraceCheckUtils]: 10: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,226 INFO L290 TraceCheckUtils]: 11: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,226 INFO L290 TraceCheckUtils]: 12: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,227 INFO L290 TraceCheckUtils]: 13: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,227 INFO L290 TraceCheckUtils]: 14: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,228 INFO L290 TraceCheckUtils]: 15: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,228 INFO L290 TraceCheckUtils]: 16: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,229 INFO L290 TraceCheckUtils]: 17: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume 0 == ~global~0.offset; {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} is VALID [2022-02-20 23:37:53,229 INFO L290 TraceCheckUtils]: 18: Hoare triple {13629#(and (<= 1 |#StackHeapBarrier|) (= ~global~0.base 0))} assume !(~global~0.base < #StackHeapBarrier); {13628#false} is VALID [2022-02-20 23:37:53,229 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:37:53,229 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:53,230 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [897347237] [2022-02-20 23:37:53,230 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [897347237] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:53,230 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:53,230 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [1] imperfect sequences [] total 1 [2022-02-20 23:37:53,230 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [827326839] [2022-02-20 23:37:53,230 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:53,230 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 9.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 23:37:53,231 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:53,231 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 9.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,243 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 19 edges. 19 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:53,243 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:37:53,243 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:53,244 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:37:53,244 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:37:53,244 INFO L87 Difference]: Start difference. First operand 441 states and 681 transitions. Second operand has 3 states, 2 states have (on average 9.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,335 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,335 INFO L93 Difference]: Finished difference Result 509 states and 761 transitions. [2022-02-20 23:37:53,335 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:37:53,335 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 9.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 19 [2022-02-20 23:37:53,335 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:53,335 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 9.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,336 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 113 transitions. [2022-02-20 23:37:53,336 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 9.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,337 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 113 transitions. [2022-02-20 23:37:53,337 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 113 transitions. [2022-02-20 23:37:53,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 113 edges. 113 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:53,413 INFO L225 Difference]: With dead ends: 509 [2022-02-20 23:37:53,414 INFO L226 Difference]: Without dead ends: 509 [2022-02-20 23:37:53,414 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:37:53,414 INFO L933 BasicCegarLoop]: 55 mSDtfsCounter, 33 mSDsluCounter, 41 mSDsCounter, 0 mSdLazyCounter, 24 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 33 SdHoareTripleChecker+Valid, 96 SdHoareTripleChecker+Invalid, 27 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 24 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:53,415 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [33 Valid, 96 Invalid, 27 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 24 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:37:53,415 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 509 states. [2022-02-20 23:37:53,422 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 509 to 491. [2022-02-20 23:37:53,423 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:53,423 INFO L82 GeneralOperation]: Start isEquivalent. First operand 509 states. Second operand has 491 states, 424 states have (on average 1.5047169811320755) internal successors, (638), 455 states have internal predecessors, (638), 20 states have call successors, (20), 15 states have call predecessors, (20), 32 states have return successors, (94), 20 states have call predecessors, (94), 20 states have call successors, (94) [2022-02-20 23:37:53,424 INFO L74 IsIncluded]: Start isIncluded. First operand 509 states. Second operand has 491 states, 424 states have (on average 1.5047169811320755) internal successors, (638), 455 states have internal predecessors, (638), 20 states have call successors, (20), 15 states have call predecessors, (20), 32 states have return successors, (94), 20 states have call predecessors, (94), 20 states have call successors, (94) [2022-02-20 23:37:53,425 INFO L87 Difference]: Start difference. First operand 509 states. Second operand has 491 states, 424 states have (on average 1.5047169811320755) internal successors, (638), 455 states have internal predecessors, (638), 20 states have call successors, (20), 15 states have call predecessors, (20), 32 states have return successors, (94), 20 states have call predecessors, (94), 20 states have call successors, (94) [2022-02-20 23:37:53,436 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,437 INFO L93 Difference]: Finished difference Result 509 states and 761 transitions. [2022-02-20 23:37:53,437 INFO L276 IsEmpty]: Start isEmpty. Operand 509 states and 761 transitions. [2022-02-20 23:37:53,438 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,438 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,439 INFO L74 IsIncluded]: Start isIncluded. First operand has 491 states, 424 states have (on average 1.5047169811320755) internal successors, (638), 455 states have internal predecessors, (638), 20 states have call successors, (20), 15 states have call predecessors, (20), 32 states have return successors, (94), 20 states have call predecessors, (94), 20 states have call successors, (94) Second operand 509 states. [2022-02-20 23:37:53,440 INFO L87 Difference]: Start difference. First operand has 491 states, 424 states have (on average 1.5047169811320755) internal successors, (638), 455 states have internal predecessors, (638), 20 states have call successors, (20), 15 states have call predecessors, (20), 32 states have return successors, (94), 20 states have call predecessors, (94), 20 states have call successors, (94) Second operand 509 states. [2022-02-20 23:37:53,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,452 INFO L93 Difference]: Finished difference Result 509 states and 761 transitions. [2022-02-20 23:37:53,452 INFO L276 IsEmpty]: Start isEmpty. Operand 509 states and 761 transitions. [2022-02-20 23:37:53,453 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,454 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,454 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:53,454 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:53,455 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 491 states, 424 states have (on average 1.5047169811320755) internal successors, (638), 455 states have internal predecessors, (638), 20 states have call successors, (20), 15 states have call predecessors, (20), 32 states have return successors, (94), 20 states have call predecessors, (94), 20 states have call successors, (94) [2022-02-20 23:37:53,465 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 491 states to 491 states and 752 transitions. [2022-02-20 23:37:53,466 INFO L78 Accepts]: Start accepts. Automaton has 491 states and 752 transitions. Word has length 19 [2022-02-20 23:37:53,466 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:53,466 INFO L470 AbstractCegarLoop]: Abstraction has 491 states and 752 transitions. [2022-02-20 23:37:53,466 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 9.0) internal successors, (18), 2 states have internal predecessors, (18), 1 states have call successors, (1), 1 states have call predecessors, (1), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:37:53,466 INFO L276 IsEmpty]: Start isEmpty. Operand 491 states and 752 transitions. [2022-02-20 23:37:53,467 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:37:53,467 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:53,467 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:53,467 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-02-20 23:37:53,467 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting parse_inputErr1REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:53,468 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:53,468 INFO L85 PathProgramCache]: Analyzing trace with hash -1078444150, now seen corresponding path program 1 times [2022-02-20 23:37:53,468 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:53,468 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1037424834] [2022-02-20 23:37:53,468 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:53,468 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:53,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,497 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:37:53,507 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,518 INFO L290 TraceCheckUtils]: 0: Hoare triple {15670#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {15650#true} is VALID [2022-02-20 23:37:53,518 INFO L290 TraceCheckUtils]: 1: Hoare triple {15650#true} assume !!(~i~0#1 < 2); {15650#true} is VALID [2022-02-20 23:37:53,518 INFO L290 TraceCheckUtils]: 2: Hoare triple {15650#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {15650#true} is VALID [2022-02-20 23:37:53,518 INFO L290 TraceCheckUtils]: 3: Hoare triple {15650#true} assume 1 == #valid[#t~mem3#1.base]; {15650#true} is VALID [2022-02-20 23:37:53,519 INFO L290 TraceCheckUtils]: 4: Hoare triple {15650#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {15650#true} is VALID [2022-02-20 23:37:53,519 INFO L290 TraceCheckUtils]: 5: Hoare triple {15650#true} assume 1 == #valid[~input#1.base]; {15650#true} is VALID [2022-02-20 23:37:53,519 INFO L290 TraceCheckUtils]: 6: Hoare triple {15650#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {15650#true} is VALID [2022-02-20 23:37:53,519 INFO L290 TraceCheckUtils]: 7: Hoare triple {15650#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {15650#true} is VALID [2022-02-20 23:37:53,519 INFO L290 TraceCheckUtils]: 8: Hoare triple {15650#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {15650#true} is VALID [2022-02-20 23:37:53,520 INFO L290 TraceCheckUtils]: 9: Hoare triple {15650#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {15650#true} is VALID [2022-02-20 23:37:53,522 INFO L290 TraceCheckUtils]: 10: Hoare triple {15650#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {15650#true} is VALID [2022-02-20 23:37:53,524 INFO L290 TraceCheckUtils]: 11: Hoare triple {15650#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {15650#true} is VALID [2022-02-20 23:37:53,529 INFO L290 TraceCheckUtils]: 12: Hoare triple {15650#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {15671#(not (= |parse_input_c1_~x~0#1.base| 0))} is VALID [2022-02-20 23:37:53,530 INFO L290 TraceCheckUtils]: 13: Hoare triple {15671#(not (= |parse_input_c1_~x~0#1.base| 0))} assume c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0; {15651#false} is VALID [2022-02-20 23:37:53,530 INFO L290 TraceCheckUtils]: 14: Hoare triple {15651#false} assume { :end_inline_c1 } true; {15651#false} is VALID [2022-02-20 23:37:53,530 INFO L290 TraceCheckUtils]: 15: Hoare triple {15651#false} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {15651#false} is VALID [2022-02-20 23:37:53,531 INFO L290 TraceCheckUtils]: 16: Hoare triple {15651#false} assume true; {15651#false} is VALID [2022-02-20 23:37:53,531 INFO L284 TraceCheckUtils]: 17: Hoare quadruple {15651#false} {15650#true} #107#return; {15651#false} is VALID [2022-02-20 23:37:53,531 INFO L290 TraceCheckUtils]: 0: Hoare triple {15650#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {15650#true} is VALID [2022-02-20 23:37:53,533 INFO L290 TraceCheckUtils]: 1: Hoare triple {15650#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {15650#true} is VALID [2022-02-20 23:37:53,534 INFO L272 TraceCheckUtils]: 2: Hoare triple {15650#true} call parse_input(3, 0); {15670#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:53,534 INFO L290 TraceCheckUtils]: 3: Hoare triple {15670#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {15650#true} is VALID [2022-02-20 23:37:53,534 INFO L290 TraceCheckUtils]: 4: Hoare triple {15650#true} assume !!(~i~0#1 < 2); {15650#true} is VALID [2022-02-20 23:37:53,535 INFO L290 TraceCheckUtils]: 5: Hoare triple {15650#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {15650#true} is VALID [2022-02-20 23:37:53,535 INFO L290 TraceCheckUtils]: 6: Hoare triple {15650#true} assume 1 == #valid[#t~mem3#1.base]; {15650#true} is VALID [2022-02-20 23:37:53,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {15650#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {15650#true} is VALID [2022-02-20 23:37:53,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {15650#true} assume 1 == #valid[~input#1.base]; {15650#true} is VALID [2022-02-20 23:37:53,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {15650#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {15650#true} is VALID [2022-02-20 23:37:53,535 INFO L290 TraceCheckUtils]: 10: Hoare triple {15650#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {15650#true} is VALID [2022-02-20 23:37:53,535 INFO L290 TraceCheckUtils]: 11: Hoare triple {15650#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {15650#true} is VALID [2022-02-20 23:37:53,535 INFO L290 TraceCheckUtils]: 12: Hoare triple {15650#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {15650#true} is VALID [2022-02-20 23:37:53,536 INFO L290 TraceCheckUtils]: 13: Hoare triple {15650#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {15650#true} is VALID [2022-02-20 23:37:53,536 INFO L290 TraceCheckUtils]: 14: Hoare triple {15650#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {15650#true} is VALID [2022-02-20 23:37:53,536 INFO L290 TraceCheckUtils]: 15: Hoare triple {15650#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {15671#(not (= |parse_input_c1_~x~0#1.base| 0))} is VALID [2022-02-20 23:37:53,536 INFO L290 TraceCheckUtils]: 16: Hoare triple {15671#(not (= |parse_input_c1_~x~0#1.base| 0))} assume c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0; {15651#false} is VALID [2022-02-20 23:37:53,536 INFO L290 TraceCheckUtils]: 17: Hoare triple {15651#false} assume { :end_inline_c1 } true; {15651#false} is VALID [2022-02-20 23:37:53,537 INFO L290 TraceCheckUtils]: 18: Hoare triple {15651#false} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {15651#false} is VALID [2022-02-20 23:37:53,537 INFO L290 TraceCheckUtils]: 19: Hoare triple {15651#false} assume true; {15651#false} is VALID [2022-02-20 23:37:53,537 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {15651#false} {15650#true} #107#return; {15651#false} is VALID [2022-02-20 23:37:53,537 INFO L272 TraceCheckUtils]: 21: Hoare triple {15651#false} call parse_input(4, 0); {15651#false} is VALID [2022-02-20 23:37:53,537 INFO L290 TraceCheckUtils]: 22: Hoare triple {15651#false} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {15651#false} is VALID [2022-02-20 23:37:53,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {15651#false} assume !!(~i~0#1 < 2); {15651#false} is VALID [2022-02-20 23:37:53,537 INFO L290 TraceCheckUtils]: 24: Hoare triple {15651#false} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {15651#false} is VALID [2022-02-20 23:37:53,539 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:53,539 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:53,539 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1037424834] [2022-02-20 23:37:53,539 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1037424834] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:53,539 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:37:53,539 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:37:53,541 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [622366415] [2022-02-20 23:37:53,541 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:53,542 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-02-20 23:37:53,542 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:53,542 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:53,555 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:37:53,555 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:37:53,555 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:53,556 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:37:53,556 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:37:53,556 INFO L87 Difference]: Start difference. First operand 491 states and 752 transitions. Second operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:53,688 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,688 INFO L93 Difference]: Finished difference Result 351 states and 521 transitions. [2022-02-20 23:37:53,688 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:37:53,689 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-02-20 23:37:53,689 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:53,689 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:53,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2022-02-20 23:37:53,690 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:53,690 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 67 transitions. [2022-02-20 23:37:53,691 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 67 transitions. [2022-02-20 23:37:53,737 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 67 edges. 67 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:53,743 INFO L225 Difference]: With dead ends: 351 [2022-02-20 23:37:53,743 INFO L226 Difference]: Without dead ends: 351 [2022-02-20 23:37:53,743 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 4 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:37:53,744 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 45 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 69 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 71 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 69 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:53,744 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [45 Valid, 66 Invalid, 71 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 69 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:37:53,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 351 states. [2022-02-20 23:37:53,749 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 351 to 351. [2022-02-20 23:37:53,750 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:53,750 INFO L82 GeneralOperation]: Start isEquivalent. First operand 351 states. Second operand has 351 states, 299 states have (on average 1.4782608695652173) internal successors, (442), 324 states have internal predecessors, (442), 15 states have call successors, (15), 11 states have call predecessors, (15), 22 states have return successors, (64), 15 states have call predecessors, (64), 15 states have call successors, (64) [2022-02-20 23:37:53,751 INFO L74 IsIncluded]: Start isIncluded. First operand 351 states. Second operand has 351 states, 299 states have (on average 1.4782608695652173) internal successors, (442), 324 states have internal predecessors, (442), 15 states have call successors, (15), 11 states have call predecessors, (15), 22 states have return successors, (64), 15 states have call predecessors, (64), 15 states have call successors, (64) [2022-02-20 23:37:53,751 INFO L87 Difference]: Start difference. First operand 351 states. Second operand has 351 states, 299 states have (on average 1.4782608695652173) internal successors, (442), 324 states have internal predecessors, (442), 15 states have call successors, (15), 11 states have call predecessors, (15), 22 states have return successors, (64), 15 states have call predecessors, (64), 15 states have call successors, (64) [2022-02-20 23:37:53,758 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,758 INFO L93 Difference]: Finished difference Result 351 states and 521 transitions. [2022-02-20 23:37:53,758 INFO L276 IsEmpty]: Start isEmpty. Operand 351 states and 521 transitions. [2022-02-20 23:37:53,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,760 INFO L74 IsIncluded]: Start isIncluded. First operand has 351 states, 299 states have (on average 1.4782608695652173) internal successors, (442), 324 states have internal predecessors, (442), 15 states have call successors, (15), 11 states have call predecessors, (15), 22 states have return successors, (64), 15 states have call predecessors, (64), 15 states have call successors, (64) Second operand 351 states. [2022-02-20 23:37:53,760 INFO L87 Difference]: Start difference. First operand has 351 states, 299 states have (on average 1.4782608695652173) internal successors, (442), 324 states have internal predecessors, (442), 15 states have call successors, (15), 11 states have call predecessors, (15), 22 states have return successors, (64), 15 states have call predecessors, (64), 15 states have call successors, (64) Second operand 351 states. [2022-02-20 23:37:53,767 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:53,767 INFO L93 Difference]: Finished difference Result 351 states and 521 transitions. [2022-02-20 23:37:53,767 INFO L276 IsEmpty]: Start isEmpty. Operand 351 states and 521 transitions. [2022-02-20 23:37:53,768 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:53,768 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:53,768 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:53,769 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:53,769 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 351 states, 299 states have (on average 1.4782608695652173) internal successors, (442), 324 states have internal predecessors, (442), 15 states have call successors, (15), 11 states have call predecessors, (15), 22 states have return successors, (64), 15 states have call predecessors, (64), 15 states have call successors, (64) [2022-02-20 23:37:53,775 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 351 states to 351 states and 521 transitions. [2022-02-20 23:37:53,776 INFO L78 Accepts]: Start accepts. Automaton has 351 states and 521 transitions. Word has length 25 [2022-02-20 23:37:53,776 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:53,776 INFO L470 AbstractCegarLoop]: Abstraction has 351 states and 521 transitions. [2022-02-20 23:37:53,776 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 3 states have internal predecessors, (22), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:53,776 INFO L276 IsEmpty]: Start isEmpty. Operand 351 states and 521 transitions. [2022-02-20 23:37:53,777 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-02-20 23:37:53,777 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:53,777 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:53,777 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12 [2022-02-20 23:37:53,777 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting parse_inputErr1REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:53,777 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:53,778 INFO L85 PathProgramCache]: Analyzing trace with hash -1446375410, now seen corresponding path program 1 times [2022-02-20 23:37:53,778 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:53,778 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1158500069] [2022-02-20 23:37:53,778 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:53,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:53,803 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,869 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:37:53,884 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:53,951 INFO L290 TraceCheckUtils]: 0: Hoare triple {17103#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {17104#(= (select |#length| 6) (select |old(#length)| 6))} is VALID [2022-02-20 23:37:53,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {17104#(= (select |#length| 6) (select |old(#length)| 6))} assume !!(~i~0#1 < 2); {17104#(= (select |#length| 6) (select |old(#length)| 6))} is VALID [2022-02-20 23:37:53,953 INFO L290 TraceCheckUtils]: 2: Hoare triple {17104#(= (select |#length| 6) (select |old(#length)| 6))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,954 INFO L290 TraceCheckUtils]: 3: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 1 == #valid[#t~mem3#1.base]; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,955 INFO L290 TraceCheckUtils]: 4: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 1 == #valid[~input#1.base]; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,956 INFO L290 TraceCheckUtils]: 6: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,957 INFO L290 TraceCheckUtils]: 10: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,959 INFO L290 TraceCheckUtils]: 12: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,959 INFO L290 TraceCheckUtils]: 13: Hoare triple {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,960 INFO L290 TraceCheckUtils]: 15: Hoare triple {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume { :end_inline_c1 } true; {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,961 INFO L290 TraceCheckUtils]: 17: Hoare triple {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume true; {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,962 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:53,963 INFO L290 TraceCheckUtils]: 0: Hoare triple {17078#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:53,963 INFO L290 TraceCheckUtils]: 1: Hoare triple {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:53,964 INFO L272 TraceCheckUtils]: 2: Hoare triple {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(3, 0); {17103#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:53,964 INFO L290 TraceCheckUtils]: 3: Hoare triple {17103#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {17104#(= (select |#length| 6) (select |old(#length)| 6))} is VALID [2022-02-20 23:37:53,965 INFO L290 TraceCheckUtils]: 4: Hoare triple {17104#(= (select |#length| 6) (select |old(#length)| 6))} assume !!(~i~0#1 < 2); {17104#(= (select |#length| 6) (select |old(#length)| 6))} is VALID [2022-02-20 23:37:53,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {17104#(= (select |#length| 6) (select |old(#length)| 6))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,966 INFO L290 TraceCheckUtils]: 6: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 1 == #valid[#t~mem3#1.base]; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,967 INFO L290 TraceCheckUtils]: 7: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,968 INFO L290 TraceCheckUtils]: 8: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 1 == #valid[~input#1.base]; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,968 INFO L290 TraceCheckUtils]: 9: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,968 INFO L290 TraceCheckUtils]: 10: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,969 INFO L290 TraceCheckUtils]: 11: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,969 INFO L290 TraceCheckUtils]: 12: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,970 INFO L290 TraceCheckUtils]: 13: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,970 INFO L290 TraceCheckUtils]: 14: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,971 INFO L290 TraceCheckUtils]: 15: Hoare triple {17105#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,972 INFO L290 TraceCheckUtils]: 16: Hoare triple {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,972 INFO L290 TraceCheckUtils]: 17: Hoare triple {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,973 INFO L290 TraceCheckUtils]: 18: Hoare triple {17106#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,973 INFO L290 TraceCheckUtils]: 19: Hoare triple {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume { :end_inline_c1 } true; {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,974 INFO L290 TraceCheckUtils]: 20: Hoare triple {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,975 INFO L290 TraceCheckUtils]: 21: Hoare triple {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume true; {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:37:53,975 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {17107#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:53,976 INFO L272 TraceCheckUtils]: 23: Hoare triple {17080#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(4, 0); {17101#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:53,976 INFO L290 TraceCheckUtils]: 24: Hoare triple {17101#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {17102#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:53,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {17102#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {17102#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:53,977 INFO L290 TraceCheckUtils]: 26: Hoare triple {17102#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {17079#false} is VALID [2022-02-20 23:37:53,977 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:37:53,977 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:53,978 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1158500069] [2022-02-20 23:37:53,978 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1158500069] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:53,978 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [399973740] [2022-02-20 23:37:53,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:53,978 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:53,978 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:53,988 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:37:53,989 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:37:54,038 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:54,039 INFO L263 TraceCheckSpWp]: Trace formula consists of 214 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 23:37:54,048 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:54,049 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:54,429 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:54,431 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 14 [2022-02-20 23:37:54,491 INFO L290 TraceCheckUtils]: 0: Hoare triple {17078#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {17111#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:37:54,491 INFO L290 TraceCheckUtils]: 1: Hoare triple {17111#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {17111#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:37:54,492 INFO L272 TraceCheckUtils]: 2: Hoare triple {17111#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} call parse_input(3, 0); {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,492 INFO L290 TraceCheckUtils]: 3: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,493 INFO L290 TraceCheckUtils]: 4: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,493 INFO L290 TraceCheckUtils]: 5: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,494 INFO L290 TraceCheckUtils]: 6: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,494 INFO L290 TraceCheckUtils]: 7: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,494 INFO L290 TraceCheckUtils]: 8: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,495 INFO L290 TraceCheckUtils]: 9: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,495 INFO L290 TraceCheckUtils]: 10: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,495 INFO L290 TraceCheckUtils]: 11: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,496 INFO L290 TraceCheckUtils]: 12: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,496 INFO L290 TraceCheckUtils]: 13: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,497 INFO L290 TraceCheckUtils]: 14: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:54,497 INFO L290 TraceCheckUtils]: 15: Hoare triple {17118#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,498 INFO L290 TraceCheckUtils]: 16: Hoare triple {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,499 INFO L290 TraceCheckUtils]: 17: Hoare triple {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,500 INFO L290 TraceCheckUtils]: 18: Hoare triple {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,500 INFO L290 TraceCheckUtils]: 19: Hoare triple {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} assume { :end_inline_c1 } true; {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,501 INFO L290 TraceCheckUtils]: 20: Hoare triple {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,502 INFO L290 TraceCheckUtils]: 21: Hoare triple {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} assume true; {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,502 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {17158#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_11 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_11) |#length|))) (= |~#commands~0.offset| 0))} {17111#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} #107#return; {17180#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,503 INFO L272 TraceCheckUtils]: 23: Hoare triple {17180#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} call parse_input(4, 0); {17180#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:54,503 INFO L290 TraceCheckUtils]: 24: Hoare triple {17180#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {17187#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:54,504 INFO L290 TraceCheckUtils]: 25: Hoare triple {17187#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume !!(~i~0#1 < 2); {17187#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:54,504 INFO L290 TraceCheckUtils]: 26: Hoare triple {17187#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {17079#false} is VALID [2022-02-20 23:37:54,504 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:37:54,504 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:54,681 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [399973740] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:54,681 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:54,681 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5] total 13 [2022-02-20 23:37:54,681 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [227054975] [2022-02-20 23:37:54,681 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:54,683 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 3.4285714285714284) internal successors, (48), 11 states have internal predecessors, (48), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 27 [2022-02-20 23:37:54,684 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:54,684 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 3.4285714285714284) internal successors, (48), 11 states have internal predecessors, (48), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:37:54,723 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:54,724 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:37:54,724 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:54,724 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:37:54,724 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=54, Invalid=252, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:37:54,724 INFO L87 Difference]: Start difference. First operand 351 states and 521 transitions. Second operand has 15 states, 14 states have (on average 3.4285714285714284) internal successors, (48), 11 states have internal predecessors, (48), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:37:56,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:56,190 INFO L93 Difference]: Finished difference Result 531 states and 739 transitions. [2022-02-20 23:37:56,190 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-02-20 23:37:56,190 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 3.4285714285714284) internal successors, (48), 11 states have internal predecessors, (48), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 27 [2022-02-20 23:37:56,191 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:56,191 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 3.4285714285714284) internal successors, (48), 11 states have internal predecessors, (48), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:37:56,192 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 183 transitions. [2022-02-20 23:37:56,193 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 3.4285714285714284) internal successors, (48), 11 states have internal predecessors, (48), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:37:56,194 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 183 transitions. [2022-02-20 23:37:56,194 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 183 transitions. [2022-02-20 23:37:56,359 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 183 edges. 183 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:56,371 INFO L225 Difference]: With dead ends: 531 [2022-02-20 23:37:56,372 INFO L226 Difference]: Without dead ends: 531 [2022-02-20 23:37:56,372 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 25 SyntacticMatches, 1 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 150 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=213, Invalid=717, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:37:56,373 INFO L933 BasicCegarLoop]: 31 mSDtfsCounter, 571 mSDsluCounter, 200 mSDsCounter, 0 mSdLazyCounter, 355 mSolverCounterSat, 101 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 571 SdHoareTripleChecker+Valid, 231 SdHoareTripleChecker+Invalid, 545 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 101 IncrementalHoareTripleChecker+Valid, 355 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 89 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:56,373 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [571 Valid, 231 Invalid, 545 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [101 Valid, 355 Invalid, 0 Unknown, 89 Unchecked, 0.4s Time] [2022-02-20 23:37:56,373 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 531 states. [2022-02-20 23:37:56,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 531 to 452. [2022-02-20 23:37:56,380 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:56,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 531 states. Second operand has 452 states, 391 states have (on average 1.4757033248081841) internal successors, (577), 420 states have internal predecessors, (577), 17 states have call successors, (17), 14 states have call predecessors, (17), 29 states have return successors, (72), 17 states have call predecessors, (72), 17 states have call successors, (72) [2022-02-20 23:37:56,381 INFO L74 IsIncluded]: Start isIncluded. First operand 531 states. Second operand has 452 states, 391 states have (on average 1.4757033248081841) internal successors, (577), 420 states have internal predecessors, (577), 17 states have call successors, (17), 14 states have call predecessors, (17), 29 states have return successors, (72), 17 states have call predecessors, (72), 17 states have call successors, (72) [2022-02-20 23:37:56,381 INFO L87 Difference]: Start difference. First operand 531 states. Second operand has 452 states, 391 states have (on average 1.4757033248081841) internal successors, (577), 420 states have internal predecessors, (577), 17 states have call successors, (17), 14 states have call predecessors, (17), 29 states have return successors, (72), 17 states have call predecessors, (72), 17 states have call successors, (72) [2022-02-20 23:37:56,393 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:56,394 INFO L93 Difference]: Finished difference Result 531 states and 739 transitions. [2022-02-20 23:37:56,394 INFO L276 IsEmpty]: Start isEmpty. Operand 531 states and 739 transitions. [2022-02-20 23:37:56,395 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:56,395 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:56,396 INFO L74 IsIncluded]: Start isIncluded. First operand has 452 states, 391 states have (on average 1.4757033248081841) internal successors, (577), 420 states have internal predecessors, (577), 17 states have call successors, (17), 14 states have call predecessors, (17), 29 states have return successors, (72), 17 states have call predecessors, (72), 17 states have call successors, (72) Second operand 531 states. [2022-02-20 23:37:56,396 INFO L87 Difference]: Start difference. First operand has 452 states, 391 states have (on average 1.4757033248081841) internal successors, (577), 420 states have internal predecessors, (577), 17 states have call successors, (17), 14 states have call predecessors, (17), 29 states have return successors, (72), 17 states have call predecessors, (72), 17 states have call successors, (72) Second operand 531 states. [2022-02-20 23:37:56,409 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:56,409 INFO L93 Difference]: Finished difference Result 531 states and 739 transitions. [2022-02-20 23:37:56,409 INFO L276 IsEmpty]: Start isEmpty. Operand 531 states and 739 transitions. [2022-02-20 23:37:56,410 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:56,410 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:56,411 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:56,411 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:56,412 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 452 states, 391 states have (on average 1.4757033248081841) internal successors, (577), 420 states have internal predecessors, (577), 17 states have call successors, (17), 14 states have call predecessors, (17), 29 states have return successors, (72), 17 states have call predecessors, (72), 17 states have call successors, (72) [2022-02-20 23:37:56,431 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 452 states to 452 states and 666 transitions. [2022-02-20 23:37:56,431 INFO L78 Accepts]: Start accepts. Automaton has 452 states and 666 transitions. Word has length 27 [2022-02-20 23:37:56,431 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:56,431 INFO L470 AbstractCegarLoop]: Abstraction has 452 states and 666 transitions. [2022-02-20 23:37:56,432 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 3.4285714285714284) internal successors, (48), 11 states have internal predecessors, (48), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:37:56,432 INFO L276 IsEmpty]: Start isEmpty. Operand 452 states and 666 transitions. [2022-02-20 23:37:56,432 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-02-20 23:37:56,432 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:56,432 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:56,452 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Forceful destruction successful, exit code 0 [2022-02-20 23:37:56,637 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:56,637 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting parse_inputErr0REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:56,638 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:56,638 INFO L85 PathProgramCache]: Analyzing trace with hash 308487171, now seen corresponding path program 1 times [2022-02-20 23:37:56,638 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:56,638 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [501329114] [2022-02-20 23:37:56,638 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:56,638 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:56,649 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,679 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:37:56,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {19310#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,710 INFO L290 TraceCheckUtils]: 1: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume !!(~i~0#1 < 2); {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,711 INFO L290 TraceCheckUtils]: 2: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,711 INFO L290 TraceCheckUtils]: 3: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[#t~mem3#1.base]; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,711 INFO L290 TraceCheckUtils]: 4: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,712 INFO L290 TraceCheckUtils]: 5: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[~input#1.base]; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,712 INFO L290 TraceCheckUtils]: 6: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,712 INFO L290 TraceCheckUtils]: 7: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,713 INFO L290 TraceCheckUtils]: 8: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,713 INFO L290 TraceCheckUtils]: 9: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,714 INFO L290 TraceCheckUtils]: 10: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,714 INFO L290 TraceCheckUtils]: 11: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,714 INFO L290 TraceCheckUtils]: 12: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,715 INFO L290 TraceCheckUtils]: 13: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,715 INFO L290 TraceCheckUtils]: 14: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == ~global~0.offset; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,716 INFO L290 TraceCheckUtils]: 15: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~global~0.base < #StackHeapBarrier; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,716 INFO L290 TraceCheckUtils]: 16: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:37:56,716 INFO L290 TraceCheckUtils]: 17: Hoare triple {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume { :end_inline_c2 } true; {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:37:56,717 INFO L290 TraceCheckUtils]: 18: Hoare triple {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:37:56,717 INFO L290 TraceCheckUtils]: 19: Hoare triple {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume true; {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:37:56,718 INFO L284 TraceCheckUtils]: 20: Hoare quadruple {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} {19286#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} #107#return; {19308#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:37:56,723 INFO L290 TraceCheckUtils]: 0: Hoare triple {19284#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {19286#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:37:56,725 INFO L290 TraceCheckUtils]: 1: Hoare triple {19286#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {19286#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:37:56,725 INFO L272 TraceCheckUtils]: 2: Hoare triple {19286#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} call parse_input(3, 0); {19310#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:56,726 INFO L290 TraceCheckUtils]: 3: Hoare triple {19310#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,726 INFO L290 TraceCheckUtils]: 4: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume !!(~i~0#1 < 2); {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,727 INFO L290 TraceCheckUtils]: 5: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,727 INFO L290 TraceCheckUtils]: 6: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[#t~mem3#1.base]; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,728 INFO L290 TraceCheckUtils]: 8: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[~input#1.base]; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,728 INFO L290 TraceCheckUtils]: 9: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,728 INFO L290 TraceCheckUtils]: 10: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,729 INFO L290 TraceCheckUtils]: 11: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,729 INFO L290 TraceCheckUtils]: 12: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,730 INFO L290 TraceCheckUtils]: 13: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,730 INFO L290 TraceCheckUtils]: 14: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,730 INFO L290 TraceCheckUtils]: 15: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,731 INFO L290 TraceCheckUtils]: 16: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,731 INFO L290 TraceCheckUtils]: 17: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == ~global~0.offset; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,731 INFO L290 TraceCheckUtils]: 18: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~global~0.base < #StackHeapBarrier; {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:37:56,732 INFO L290 TraceCheckUtils]: 19: Hoare triple {19311#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:37:56,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume { :end_inline_c2 } true; {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:37:56,733 INFO L290 TraceCheckUtils]: 21: Hoare triple {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:37:56,733 INFO L290 TraceCheckUtils]: 22: Hoare triple {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume true; {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:37:56,733 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19312#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} {19286#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} #107#return; {19308#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:37:56,734 INFO L272 TraceCheckUtils]: 24: Hoare triple {19308#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)) (= (select |#valid| 6) 1))} call parse_input(4, 0); {19309#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:37:56,734 INFO L290 TraceCheckUtils]: 25: Hoare triple {19309#(= (select |#valid| |~#commands~0.base|) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {19309#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:37:56,735 INFO L290 TraceCheckUtils]: 26: Hoare triple {19309#(= (select |#valid| |~#commands~0.base|) 1)} assume !!(~i~0#1 < 2); {19309#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:37:56,735 INFO L290 TraceCheckUtils]: 27: Hoare triple {19309#(= (select |#valid| |~#commands~0.base|) 1)} assume !(1 == #valid[~#commands~0.base]); {19285#false} is VALID [2022-02-20 23:37:56,735 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:37:56,735 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:56,735 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [501329114] [2022-02-20 23:37:56,735 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [501329114] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:56,736 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [469257084] [2022-02-20 23:37:56,736 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:56,736 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:56,736 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:56,737 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:37:56,755 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:37:56,791 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,792 INFO L263 TraceCheckSpWp]: Trace formula consists of 206 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:37:56,797 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:56,797 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:56,951 INFO L290 TraceCheckUtils]: 0: Hoare triple {19284#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {19316#(and (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,952 INFO L290 TraceCheckUtils]: 1: Hoare triple {19316#(and (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {19316#(and (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,952 INFO L272 TraceCheckUtils]: 2: Hoare triple {19316#(and (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} call parse_input(3, 0); {19316#(and (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,953 INFO L290 TraceCheckUtils]: 3: Hoare triple {19316#(and (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,953 INFO L290 TraceCheckUtils]: 4: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume !!(~i~0#1 < 2); {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,954 INFO L290 TraceCheckUtils]: 5: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,954 INFO L290 TraceCheckUtils]: 6: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume 1 == #valid[#t~mem3#1.base]; {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume 1 == #valid[~input#1.base]; {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,955 INFO L290 TraceCheckUtils]: 10: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,956 INFO L290 TraceCheckUtils]: 12: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,957 INFO L290 TraceCheckUtils]: 13: Hoare triple {19326#(and (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {19357#(and (= |parse_input_#t~mem6#1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))) (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,957 INFO L290 TraceCheckUtils]: 14: Hoare triple {19357#(and (= |parse_input_#t~mem6#1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))) (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {19361#(and (= |parse_input_##fun~~TO~VOID_#in~#fp#1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))) (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} is VALID [2022-02-20 23:37:56,958 INFO L290 TraceCheckUtils]: 15: Hoare triple {19361#(and (= |parse_input_##fun~~TO~VOID_#in~#fp#1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))) (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {19285#false} is VALID [2022-02-20 23:37:56,958 INFO L290 TraceCheckUtils]: 16: Hoare triple {19285#false} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {19285#false} is VALID [2022-02-20 23:37:56,958 INFO L290 TraceCheckUtils]: 17: Hoare triple {19285#false} assume 0 == ~global~0.offset; {19285#false} is VALID [2022-02-20 23:37:56,958 INFO L290 TraceCheckUtils]: 18: Hoare triple {19285#false} assume ~global~0.base < #StackHeapBarrier; {19285#false} is VALID [2022-02-20 23:37:56,958 INFO L290 TraceCheckUtils]: 19: Hoare triple {19285#false} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {19285#false} is VALID [2022-02-20 23:37:56,958 INFO L290 TraceCheckUtils]: 20: Hoare triple {19285#false} assume { :end_inline_c2 } true; {19285#false} is VALID [2022-02-20 23:37:56,958 INFO L290 TraceCheckUtils]: 21: Hoare triple {19285#false} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {19285#false} is VALID [2022-02-20 23:37:56,959 INFO L290 TraceCheckUtils]: 22: Hoare triple {19285#false} assume true; {19285#false} is VALID [2022-02-20 23:37:56,959 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {19285#false} {19316#(and (= |~#commands~0.offset| 0) (= |#funAddr~c1.offset| (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ |~#commands~0.offset| 4))))} #107#return; {19285#false} is VALID [2022-02-20 23:37:56,959 INFO L272 TraceCheckUtils]: 24: Hoare triple {19285#false} call parse_input(4, 0); {19285#false} is VALID [2022-02-20 23:37:56,959 INFO L290 TraceCheckUtils]: 25: Hoare triple {19285#false} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {19285#false} is VALID [2022-02-20 23:37:56,959 INFO L290 TraceCheckUtils]: 26: Hoare triple {19285#false} assume !!(~i~0#1 < 2); {19285#false} is VALID [2022-02-20 23:37:56,959 INFO L290 TraceCheckUtils]: 27: Hoare triple {19285#false} assume !(1 == #valid[~#commands~0.base]); {19285#false} is VALID [2022-02-20 23:37:56,960 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:56,960 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:37:56,960 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [469257084] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:37:56,960 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:37:56,960 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 11 [2022-02-20 23:37:56,961 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2106152475] [2022-02-20 23:37:56,961 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:37:56,961 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-02-20 23:37:56,961 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:56,961 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:56,978 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:56,978 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:37:56,978 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:56,979 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:37:56,979 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=102, Unknown=0, NotChecked=0, Total=132 [2022-02-20 23:37:56,979 INFO L87 Difference]: Start difference. First operand 452 states and 666 transitions. Second operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:57,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:57,256 INFO L93 Difference]: Finished difference Result 566 states and 816 transitions. [2022-02-20 23:37:57,256 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:37:57,256 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-02-20 23:37:57,256 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:37:57,256 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:57,257 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 97 transitions. [2022-02-20 23:37:57,257 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:57,262 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 97 transitions. [2022-02-20 23:37:57,262 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 97 transitions. [2022-02-20 23:37:57,337 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:37:57,348 INFO L225 Difference]: With dead ends: 566 [2022-02-20 23:37:57,348 INFO L226 Difference]: Without dead ends: 566 [2022-02-20 23:37:57,348 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 36 GetRequests, 23 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 24 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=48, Invalid=162, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:37:57,349 INFO L933 BasicCegarLoop]: 48 mSDtfsCounter, 125 mSDsluCounter, 116 mSDsCounter, 0 mSdLazyCounter, 79 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 126 SdHoareTripleChecker+Valid, 164 SdHoareTripleChecker+Invalid, 81 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 79 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:37:57,349 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [126 Valid, 164 Invalid, 81 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 79 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:37:57,350 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 566 states. [2022-02-20 23:37:57,357 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 566 to 473. [2022-02-20 23:37:57,358 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:37:57,358 INFO L82 GeneralOperation]: Start isEquivalent. First operand 566 states. Second operand has 473 states, 416 states have (on average 1.4615384615384615) internal successors, (608), 441 states have internal predecessors, (608), 17 states have call successors, (17), 14 states have call predecessors, (17), 25 states have return successors, (68), 17 states have call predecessors, (68), 17 states have call successors, (68) [2022-02-20 23:37:57,359 INFO L74 IsIncluded]: Start isIncluded. First operand 566 states. Second operand has 473 states, 416 states have (on average 1.4615384615384615) internal successors, (608), 441 states have internal predecessors, (608), 17 states have call successors, (17), 14 states have call predecessors, (17), 25 states have return successors, (68), 17 states have call predecessors, (68), 17 states have call successors, (68) [2022-02-20 23:37:57,360 INFO L87 Difference]: Start difference. First operand 566 states. Second operand has 473 states, 416 states have (on average 1.4615384615384615) internal successors, (608), 441 states have internal predecessors, (608), 17 states have call successors, (17), 14 states have call predecessors, (17), 25 states have return successors, (68), 17 states have call predecessors, (68), 17 states have call successors, (68) [2022-02-20 23:37:57,373 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:57,373 INFO L93 Difference]: Finished difference Result 566 states and 816 transitions. [2022-02-20 23:37:57,374 INFO L276 IsEmpty]: Start isEmpty. Operand 566 states and 816 transitions. [2022-02-20 23:37:57,375 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:57,375 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:57,376 INFO L74 IsIncluded]: Start isIncluded. First operand has 473 states, 416 states have (on average 1.4615384615384615) internal successors, (608), 441 states have internal predecessors, (608), 17 states have call successors, (17), 14 states have call predecessors, (17), 25 states have return successors, (68), 17 states have call predecessors, (68), 17 states have call successors, (68) Second operand 566 states. [2022-02-20 23:37:57,376 INFO L87 Difference]: Start difference. First operand has 473 states, 416 states have (on average 1.4615384615384615) internal successors, (608), 441 states have internal predecessors, (608), 17 states have call successors, (17), 14 states have call predecessors, (17), 25 states have return successors, (68), 17 states have call predecessors, (68), 17 states have call successors, (68) Second operand 566 states. [2022-02-20 23:37:57,390 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:37:57,390 INFO L93 Difference]: Finished difference Result 566 states and 816 transitions. [2022-02-20 23:37:57,390 INFO L276 IsEmpty]: Start isEmpty. Operand 566 states and 816 transitions. [2022-02-20 23:37:57,392 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:37:57,392 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:37:57,392 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:37:57,392 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:37:57,393 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 473 states, 416 states have (on average 1.4615384615384615) internal successors, (608), 441 states have internal predecessors, (608), 17 states have call successors, (17), 14 states have call predecessors, (17), 25 states have return successors, (68), 17 states have call predecessors, (68), 17 states have call successors, (68) [2022-02-20 23:37:57,402 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 473 states to 473 states and 693 transitions. [2022-02-20 23:37:57,402 INFO L78 Accepts]: Start accepts. Automaton has 473 states and 693 transitions. Word has length 28 [2022-02-20 23:37:57,403 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:37:57,403 INFO L470 AbstractCegarLoop]: Abstraction has 473 states and 693 transitions. [2022-02-20 23:37:57,403 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 4.166666666666667) internal successors, (25), 5 states have internal predecessors, (25), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:37:57,403 INFO L276 IsEmpty]: Start isEmpty. Operand 473 states and 693 transitions. [2022-02-20 23:37:57,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 30 [2022-02-20 23:37:57,405 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:37:57,405 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:37:57,422 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:37:57,619 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,SelfDestructingSolverStorable14 [2022-02-20 23:37:57,619 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:37:57,620 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:37:57,620 INFO L85 PathProgramCache]: Analyzing trace with hash 1602633389, now seen corresponding path program 1 times [2022-02-20 23:37:57,620 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:37:57,620 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1876480269] [2022-02-20 23:37:57,620 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:57,620 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:37:57,635 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:57,723 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:37:57,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:57,909 INFO L290 TraceCheckUtils]: 0: Hoare triple {21603#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {21604#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:37:57,909 INFO L290 TraceCheckUtils]: 1: Hoare triple {21604#(= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {21604#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:37:57,910 INFO L290 TraceCheckUtils]: 2: Hoare triple {21604#(= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {21605#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,911 INFO L290 TraceCheckUtils]: 3: Hoare triple {21605#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {21606#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,911 INFO L290 TraceCheckUtils]: 4: Hoare triple {21606#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,912 INFO L290 TraceCheckUtils]: 5: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[~input#1.base]; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,913 INFO L290 TraceCheckUtils]: 6: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,913 INFO L290 TraceCheckUtils]: 7: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,914 INFO L290 TraceCheckUtils]: 8: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,915 INFO L290 TraceCheckUtils]: 9: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,916 INFO L290 TraceCheckUtils]: 10: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {21608#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,916 INFO L290 TraceCheckUtils]: 11: Hoare triple {21608#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {21608#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,917 INFO L290 TraceCheckUtils]: 12: Hoare triple {21608#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,918 INFO L290 TraceCheckUtils]: 13: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,918 INFO L290 TraceCheckUtils]: 14: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,919 INFO L290 TraceCheckUtils]: 15: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,919 INFO L290 TraceCheckUtils]: 16: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :end_inline_c1 } true; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,920 INFO L290 TraceCheckUtils]: 17: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,920 INFO L290 TraceCheckUtils]: 18: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume true; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,921 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} {21579#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {21600#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:57,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {21577#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {21579#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:57,923 INFO L290 TraceCheckUtils]: 1: Hoare triple {21579#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {21579#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:57,924 INFO L272 TraceCheckUtils]: 2: Hoare triple {21579#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(3, 0); {21603#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:57,924 INFO L290 TraceCheckUtils]: 3: Hoare triple {21603#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {21604#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:37:57,924 INFO L290 TraceCheckUtils]: 4: Hoare triple {21604#(= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {21604#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:37:57,925 INFO L290 TraceCheckUtils]: 5: Hoare triple {21604#(= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {21605#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,926 INFO L290 TraceCheckUtils]: 6: Hoare triple {21605#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {21606#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,926 INFO L290 TraceCheckUtils]: 7: Hoare triple {21606#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,927 INFO L290 TraceCheckUtils]: 8: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[~input#1.base]; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,928 INFO L290 TraceCheckUtils]: 9: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,928 INFO L290 TraceCheckUtils]: 10: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,929 INFO L290 TraceCheckUtils]: 11: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,930 INFO L290 TraceCheckUtils]: 12: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:37:57,931 INFO L290 TraceCheckUtils]: 13: Hoare triple {21607#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {21608#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,931 INFO L290 TraceCheckUtils]: 14: Hoare triple {21608#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {21608#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,932 INFO L290 TraceCheckUtils]: 15: Hoare triple {21608#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,932 INFO L290 TraceCheckUtils]: 16: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,933 INFO L290 TraceCheckUtils]: 17: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,933 INFO L290 TraceCheckUtils]: 18: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,934 INFO L290 TraceCheckUtils]: 19: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :end_inline_c1 } true; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,934 INFO L290 TraceCheckUtils]: 20: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,935 INFO L290 TraceCheckUtils]: 21: Hoare triple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume true; {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:37:57,936 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {21609#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} {21579#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {21600#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:57,936 INFO L272 TraceCheckUtils]: 23: Hoare triple {21600#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(4, 0); {21600#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:37:57,937 INFO L290 TraceCheckUtils]: 24: Hoare triple {21600#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {21601#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} is VALID [2022-02-20 23:37:57,938 INFO L290 TraceCheckUtils]: 25: Hoare triple {21601#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} assume !!(~i~0#1 < 2); {21601#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} is VALID [2022-02-20 23:37:57,938 INFO L290 TraceCheckUtils]: 26: Hoare triple {21601#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {21602#(and (<= (+ |parse_input_#t~mem3#1.offset| 1) (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} is VALID [2022-02-20 23:37:57,939 INFO L290 TraceCheckUtils]: 27: Hoare triple {21602#(and (<= (+ |parse_input_#t~mem3#1.offset| 1) (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} assume 1 == #valid[#t~mem3#1.base]; {21602#(and (<= (+ |parse_input_#t~mem3#1.offset| 1) (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} is VALID [2022-02-20 23:37:57,939 INFO L290 TraceCheckUtils]: 28: Hoare triple {21602#(and (<= (+ |parse_input_#t~mem3#1.offset| 1) (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {21578#false} is VALID [2022-02-20 23:37:57,939 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 2 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:57,940 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:37:57,940 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1876480269] [2022-02-20 23:37:57,940 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1876480269] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:57,940 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [765007295] [2022-02-20 23:37:57,940 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:37:57,940 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:37:57,940 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:37:57,941 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:37:57,942 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:37:58,001 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:58,002 INFO L263 TraceCheckSpWp]: Trace formula consists of 224 conjuncts, 25 conjunts are in the unsatisfiable core [2022-02-20 23:37:58,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:37:58,010 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:37:58,526 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:37:58,541 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 14 [2022-02-20 23:37:58,658 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:37:58,665 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:37:58,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {21577#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {21613#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {21613#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {21613#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,695 INFO L272 TraceCheckUtils]: 2: Hoare triple {21613#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(3, 0); {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,695 INFO L290 TraceCheckUtils]: 3: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,696 INFO L290 TraceCheckUtils]: 4: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,697 INFO L290 TraceCheckUtils]: 6: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,697 INFO L290 TraceCheckUtils]: 7: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,706 INFO L290 TraceCheckUtils]: 8: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,706 INFO L290 TraceCheckUtils]: 9: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,707 INFO L290 TraceCheckUtils]: 10: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,707 INFO L290 TraceCheckUtils]: 11: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,708 INFO L290 TraceCheckUtils]: 12: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,708 INFO L290 TraceCheckUtils]: 13: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:37:58,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {21620#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,710 INFO L290 TraceCheckUtils]: 16: Hoare triple {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,711 INFO L290 TraceCheckUtils]: 17: Hoare triple {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,711 INFO L290 TraceCheckUtils]: 18: Hoare triple {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,712 INFO L290 TraceCheckUtils]: 19: Hoare triple {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_c1 } true; {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,712 INFO L290 TraceCheckUtils]: 20: Hoare triple {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,713 INFO L290 TraceCheckUtils]: 21: Hoare triple {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume true; {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,714 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {21660#(and (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_24 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_24)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} {21613#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} #107#return; {21682#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,715 INFO L272 TraceCheckUtils]: 23: Hoare triple {21682#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(4, 0); {21682#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,715 INFO L290 TraceCheckUtils]: 24: Hoare triple {21682#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {21689#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,715 INFO L290 TraceCheckUtils]: 25: Hoare triple {21689#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !!(~i~0#1 < 2); {21689#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:37:58,716 INFO L290 TraceCheckUtils]: 26: Hoare triple {21689#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {21696#(and (<= 3 (select |#length| 1)) (= |parse_input_#t~mem3#1.offset| 0) (= |parse_input_#t~mem3#1.base| 1))} is VALID [2022-02-20 23:37:58,716 INFO L290 TraceCheckUtils]: 27: Hoare triple {21696#(and (<= 3 (select |#length| 1)) (= |parse_input_#t~mem3#1.offset| 0) (= |parse_input_#t~mem3#1.base| 1))} assume 1 == #valid[#t~mem3#1.base]; {21696#(and (<= 3 (select |#length| 1)) (= |parse_input_#t~mem3#1.offset| 0) (= |parse_input_#t~mem3#1.base| 1))} is VALID [2022-02-20 23:37:58,717 INFO L290 TraceCheckUtils]: 28: Hoare triple {21696#(and (<= 3 (select |#length| 1)) (= |parse_input_#t~mem3#1.offset| 0) (= |parse_input_#t~mem3#1.base| 1))} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {21578#false} is VALID [2022-02-20 23:37:58,717 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:37:58,717 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:37:58,949 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [765007295] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:37:58,949 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:37:58,949 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [11, 6] total 17 [2022-02-20 23:37:58,949 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [563891662] [2022-02-20 23:37:58,949 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:37:58,950 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.888888888888889) internal successors, (52), 15 states have internal predecessors, (52), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 29 [2022-02-20 23:37:58,950 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:37:58,950 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 2.888888888888889) internal successors, (52), 15 states have internal predecessors, (52), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:37:58,997 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:37:58,997 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 23:37:58,997 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:37:58,998 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 23:37:58,998 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=383, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:37:58,998 INFO L87 Difference]: Start difference. First operand 473 states and 693 transitions. Second operand has 19 states, 18 states have (on average 2.888888888888889) internal successors, (52), 15 states have internal predecessors, (52), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:01,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:01,549 INFO L93 Difference]: Finished difference Result 693 states and 959 transitions. [2022-02-20 23:38:01,549 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-02-20 23:38:01,549 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 2.888888888888889) internal successors, (52), 15 states have internal predecessors, (52), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 29 [2022-02-20 23:38:01,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:01,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.888888888888889) internal successors, (52), 15 states have internal predecessors, (52), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:01,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 272 transitions. [2022-02-20 23:38:01,552 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 2.888888888888889) internal successors, (52), 15 states have internal predecessors, (52), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:01,555 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 272 transitions. [2022-02-20 23:38:01,555 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 272 transitions. [2022-02-20 23:38:01,804 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 272 edges. 272 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:01,819 INFO L225 Difference]: With dead ends: 693 [2022-02-20 23:38:01,819 INFO L226 Difference]: Without dead ends: 693 [2022-02-20 23:38:01,819 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 75 GetRequests, 29 SyntacticMatches, 1 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 565 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=443, Invalid=1719, Unknown=0, NotChecked=0, Total=2162 [2022-02-20 23:38:01,820 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 509 mSDsluCounter, 358 mSDsCounter, 0 mSdLazyCounter, 631 mSolverCounterSat, 98 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 517 SdHoareTripleChecker+Valid, 395 SdHoareTripleChecker+Invalid, 903 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 98 IncrementalHoareTripleChecker+Valid, 631 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 174 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:01,820 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [517 Valid, 395 Invalid, 903 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [98 Valid, 631 Invalid, 0 Unknown, 174 Unchecked, 0.7s Time] [2022-02-20 23:38:01,821 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 693 states. [2022-02-20 23:38:01,828 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 693 to 583. [2022-02-20 23:38:01,828 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:01,829 INFO L82 GeneralOperation]: Start isEquivalent. First operand 693 states. Second operand has 583 states, 511 states have (on average 1.4383561643835616) internal successors, (735), 545 states have internal predecessors, (735), 20 states have call successors, (20), 17 states have call predecessors, (20), 37 states have return successors, (101), 20 states have call predecessors, (101), 20 states have call successors, (101) [2022-02-20 23:38:01,830 INFO L74 IsIncluded]: Start isIncluded. First operand 693 states. Second operand has 583 states, 511 states have (on average 1.4383561643835616) internal successors, (735), 545 states have internal predecessors, (735), 20 states have call successors, (20), 17 states have call predecessors, (20), 37 states have return successors, (101), 20 states have call predecessors, (101), 20 states have call successors, (101) [2022-02-20 23:38:01,830 INFO L87 Difference]: Start difference. First operand 693 states. Second operand has 583 states, 511 states have (on average 1.4383561643835616) internal successors, (735), 545 states have internal predecessors, (735), 20 states have call successors, (20), 17 states have call predecessors, (20), 37 states have return successors, (101), 20 states have call predecessors, (101), 20 states have call successors, (101) [2022-02-20 23:38:01,851 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:01,851 INFO L93 Difference]: Finished difference Result 693 states and 959 transitions. [2022-02-20 23:38:01,851 INFO L276 IsEmpty]: Start isEmpty. Operand 693 states and 959 transitions. [2022-02-20 23:38:01,853 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:01,853 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:01,854 INFO L74 IsIncluded]: Start isIncluded. First operand has 583 states, 511 states have (on average 1.4383561643835616) internal successors, (735), 545 states have internal predecessors, (735), 20 states have call successors, (20), 17 states have call predecessors, (20), 37 states have return successors, (101), 20 states have call predecessors, (101), 20 states have call successors, (101) Second operand 693 states. [2022-02-20 23:38:01,854 INFO L87 Difference]: Start difference. First operand has 583 states, 511 states have (on average 1.4383561643835616) internal successors, (735), 545 states have internal predecessors, (735), 20 states have call successors, (20), 17 states have call predecessors, (20), 37 states have return successors, (101), 20 states have call predecessors, (101), 20 states have call successors, (101) Second operand 693 states. [2022-02-20 23:38:01,872 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:01,873 INFO L93 Difference]: Finished difference Result 693 states and 959 transitions. [2022-02-20 23:38:01,873 INFO L276 IsEmpty]: Start isEmpty. Operand 693 states and 959 transitions. [2022-02-20 23:38:01,874 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:01,875 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:01,875 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:01,875 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:01,876 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 583 states, 511 states have (on average 1.4383561643835616) internal successors, (735), 545 states have internal predecessors, (735), 20 states have call successors, (20), 17 states have call predecessors, (20), 37 states have return successors, (101), 20 states have call predecessors, (101), 20 states have call successors, (101) [2022-02-20 23:38:01,889 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 583 states to 583 states and 856 transitions. [2022-02-20 23:38:01,890 INFO L78 Accepts]: Start accepts. Automaton has 583 states and 856 transitions. Word has length 29 [2022-02-20 23:38:01,890 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:01,890 INFO L470 AbstractCegarLoop]: Abstraction has 583 states and 856 transitions. [2022-02-20 23:38:01,890 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 2.888888888888889) internal successors, (52), 15 states have internal predecessors, (52), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:01,890 INFO L276 IsEmpty]: Start isEmpty. Operand 583 states and 856 transitions. [2022-02-20 23:38:01,891 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:38:01,891 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:01,892 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:01,909 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:38:02,101 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-02-20 23:38:02,101 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting parse_inputErr0REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:02,102 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:02,102 INFO L85 PathProgramCache]: Analyzing trace with hash 1182683565, now seen corresponding path program 1 times [2022-02-20 23:38:02,102 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:02,102 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1628459744] [2022-02-20 23:38:02,102 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:02,102 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:02,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:02,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:02,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:02,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {24467#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume !!(~i~0#1 < 2); {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[#t~mem3#1.base]; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,173 INFO L290 TraceCheckUtils]: 4: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[~input#1.base]; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,174 INFO L290 TraceCheckUtils]: 6: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,174 INFO L290 TraceCheckUtils]: 7: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,174 INFO L290 TraceCheckUtils]: 8: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,175 INFO L290 TraceCheckUtils]: 9: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,175 INFO L290 TraceCheckUtils]: 10: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,175 INFO L290 TraceCheckUtils]: 11: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,176 INFO L290 TraceCheckUtils]: 12: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,176 INFO L290 TraceCheckUtils]: 14: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume ~global~0.base != 0 || ~global~0.offset != 0; {24469#(or (not (= ~global~0.offset 0)) (not (= |old(~global~0.base)| 0)))} is VALID [2022-02-20 23:38:02,177 INFO L290 TraceCheckUtils]: 15: Hoare triple {24469#(or (not (= ~global~0.offset 0)) (not (= |old(~global~0.base)| 0)))} assume 0 == ~global~0.offset; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,177 INFO L290 TraceCheckUtils]: 16: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume ~global~0.base < #StackHeapBarrier; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,177 INFO L290 TraceCheckUtils]: 17: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,177 INFO L290 TraceCheckUtils]: 18: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,178 INFO L290 TraceCheckUtils]: 19: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume { :end_inline_c1 } true; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,178 INFO L290 TraceCheckUtils]: 20: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,178 INFO L290 TraceCheckUtils]: 21: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume true; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,179 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {24470#(not (= |old(~global~0.base)| 0))} {24443#(and (= ~global~0.base 0) (= ~global~0.offset 0))} #107#return; {24442#false} is VALID [2022-02-20 23:38:02,180 INFO L290 TraceCheckUtils]: 0: Hoare triple {24441#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {24443#(and (= ~global~0.base 0) (= ~global~0.offset 0))} is VALID [2022-02-20 23:38:02,180 INFO L290 TraceCheckUtils]: 1: Hoare triple {24443#(and (= ~global~0.base 0) (= ~global~0.offset 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {24443#(and (= ~global~0.base 0) (= ~global~0.offset 0))} is VALID [2022-02-20 23:38:02,181 INFO L272 TraceCheckUtils]: 2: Hoare triple {24443#(and (= ~global~0.base 0) (= ~global~0.offset 0))} call parse_input(3, 0); {24467#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:02,181 INFO L290 TraceCheckUtils]: 3: Hoare triple {24467#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume !!(~i~0#1 < 2); {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,182 INFO L290 TraceCheckUtils]: 6: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[#t~mem3#1.base]; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,182 INFO L290 TraceCheckUtils]: 7: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,182 INFO L290 TraceCheckUtils]: 8: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[~input#1.base]; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,183 INFO L290 TraceCheckUtils]: 9: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,183 INFO L290 TraceCheckUtils]: 10: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,183 INFO L290 TraceCheckUtils]: 11: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,183 INFO L290 TraceCheckUtils]: 12: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,184 INFO L290 TraceCheckUtils]: 13: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,184 INFO L290 TraceCheckUtils]: 14: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,184 INFO L290 TraceCheckUtils]: 15: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,185 INFO L290 TraceCheckUtils]: 16: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {24468#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:02,185 INFO L290 TraceCheckUtils]: 17: Hoare triple {24468#(= ~global~0.base |old(~global~0.base)|)} assume ~global~0.base != 0 || ~global~0.offset != 0; {24469#(or (not (= ~global~0.offset 0)) (not (= |old(~global~0.base)| 0)))} is VALID [2022-02-20 23:38:02,185 INFO L290 TraceCheckUtils]: 18: Hoare triple {24469#(or (not (= ~global~0.offset 0)) (not (= |old(~global~0.base)| 0)))} assume 0 == ~global~0.offset; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,185 INFO L290 TraceCheckUtils]: 19: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume ~global~0.base < #StackHeapBarrier; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,186 INFO L290 TraceCheckUtils]: 20: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,186 INFO L290 TraceCheckUtils]: 21: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,186 INFO L290 TraceCheckUtils]: 22: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume { :end_inline_c1 } true; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,187 INFO L290 TraceCheckUtils]: 23: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,187 INFO L290 TraceCheckUtils]: 24: Hoare triple {24470#(not (= |old(~global~0.base)| 0))} assume true; {24470#(not (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:02,187 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {24470#(not (= |old(~global~0.base)| 0))} {24443#(and (= ~global~0.base 0) (= ~global~0.offset 0))} #107#return; {24442#false} is VALID [2022-02-20 23:38:02,187 INFO L272 TraceCheckUtils]: 26: Hoare triple {24442#false} call parse_input(4, 0); {24442#false} is VALID [2022-02-20 23:38:02,188 INFO L290 TraceCheckUtils]: 27: Hoare triple {24442#false} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {24442#false} is VALID [2022-02-20 23:38:02,188 INFO L290 TraceCheckUtils]: 28: Hoare triple {24442#false} assume !!(~i~0#1 < 2); {24442#false} is VALID [2022-02-20 23:38:02,188 INFO L290 TraceCheckUtils]: 29: Hoare triple {24442#false} assume !(1 == #valid[~#commands~0.base]); {24442#false} is VALID [2022-02-20 23:38:02,188 INFO L134 CoverageAnalysis]: Checked inductivity of 3 backedges. 3 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:02,188 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:02,188 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1628459744] [2022-02-20 23:38:02,188 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1628459744] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:02,189 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:38:02,189 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-02-20 23:38:02,189 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1935789968] [2022-02-20 23:38:02,189 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:02,189 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 30 [2022-02-20 23:38:02,190 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:02,190 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:02,206 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:38:02,206 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:38:02,207 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:02,207 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:38:02,207 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:02,208 INFO L87 Difference]: Start difference. First operand 583 states and 856 transitions. Second operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:02,534 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,534 INFO L93 Difference]: Finished difference Result 490 states and 676 transitions. [2022-02-20 23:38:02,534 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:38:02,534 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 30 [2022-02-20 23:38:02,535 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:02,535 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:02,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 115 transitions. [2022-02-20 23:38:02,536 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:02,537 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 115 transitions. [2022-02-20 23:38:02,537 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 115 transitions. [2022-02-20 23:38:02,614 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:38:02,623 INFO L225 Difference]: With dead ends: 490 [2022-02-20 23:38:02,623 INFO L226 Difference]: Without dead ends: 490 [2022-02-20 23:38:02,624 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 12 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 11 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 14 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=48, Invalid=108, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:38:02,624 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 116 mSDsluCounter, 89 mSDsCounter, 0 mSdLazyCounter, 144 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 116 SdHoareTripleChecker+Valid, 128 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 144 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:02,624 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [116 Valid, 128 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 144 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:38:02,625 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 490 states. [2022-02-20 23:38:02,631 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 490 to 465. [2022-02-20 23:38:02,631 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:02,632 INFO L82 GeneralOperation]: Start isEquivalent. First operand 490 states. Second operand has 465 states, 409 states have (on average 1.430317848410758) internal successors, (585), 439 states have internal predecessors, (585), 14 states have call successors, (14), 11 states have call predecessors, (14), 27 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) [2022-02-20 23:38:02,632 INFO L74 IsIncluded]: Start isIncluded. First operand 490 states. Second operand has 465 states, 409 states have (on average 1.430317848410758) internal successors, (585), 439 states have internal predecessors, (585), 14 states have call successors, (14), 11 states have call predecessors, (14), 27 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) [2022-02-20 23:38:02,633 INFO L87 Difference]: Start difference. First operand 490 states. Second operand has 465 states, 409 states have (on average 1.430317848410758) internal successors, (585), 439 states have internal predecessors, (585), 14 states have call successors, (14), 11 states have call predecessors, (14), 27 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) [2022-02-20 23:38:02,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,645 INFO L93 Difference]: Finished difference Result 490 states and 676 transitions. [2022-02-20 23:38:02,645 INFO L276 IsEmpty]: Start isEmpty. Operand 490 states and 676 transitions. [2022-02-20 23:38:02,646 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:02,646 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:02,647 INFO L74 IsIncluded]: Start isIncluded. First operand has 465 states, 409 states have (on average 1.430317848410758) internal successors, (585), 439 states have internal predecessors, (585), 14 states have call successors, (14), 11 states have call predecessors, (14), 27 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) Second operand 490 states. [2022-02-20 23:38:02,647 INFO L87 Difference]: Start difference. First operand has 465 states, 409 states have (on average 1.430317848410758) internal successors, (585), 439 states have internal predecessors, (585), 14 states have call successors, (14), 11 states have call predecessors, (14), 27 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) Second operand 490 states. [2022-02-20 23:38:02,663 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:02,663 INFO L93 Difference]: Finished difference Result 490 states and 676 transitions. [2022-02-20 23:38:02,663 INFO L276 IsEmpty]: Start isEmpty. Operand 490 states and 676 transitions. [2022-02-20 23:38:02,664 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:02,664 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:02,665 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:02,665 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:02,666 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 465 states, 409 states have (on average 1.430317848410758) internal successors, (585), 439 states have internal predecessors, (585), 14 states have call successors, (14), 11 states have call predecessors, (14), 27 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) [2022-02-20 23:38:02,677 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 465 states to 465 states and 654 transitions. [2022-02-20 23:38:02,677 INFO L78 Accepts]: Start accepts. Automaton has 465 states and 654 transitions. Word has length 30 [2022-02-20 23:38:02,677 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:02,677 INFO L470 AbstractCegarLoop]: Abstraction has 465 states and 654 transitions. [2022-02-20 23:38:02,677 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 3.857142857142857) internal successors, (27), 5 states have internal predecessors, (27), 2 states have call successors, (2), 2 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:02,678 INFO L276 IsEmpty]: Start isEmpty. Operand 465 states and 654 transitions. [2022-02-20 23:38:02,678 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 31 [2022-02-20 23:38:02,678 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:02,678 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:02,678 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable16 [2022-02-20 23:38:02,678 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting parse_inputErr4ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:02,679 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:02,679 INFO L85 PathProgramCache]: Analyzing trace with hash -1857972446, now seen corresponding path program 1 times [2022-02-20 23:38:02,679 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:02,679 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [172297009] [2022-02-20 23:38:02,679 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:02,679 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:02,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:02,722 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:02,729 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:02,764 INFO L290 TraceCheckUtils]: 0: Hoare triple {26445#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,764 INFO L290 TraceCheckUtils]: 1: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,765 INFO L290 TraceCheckUtils]: 2: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,765 INFO L290 TraceCheckUtils]: 3: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,766 INFO L290 TraceCheckUtils]: 4: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,766 INFO L290 TraceCheckUtils]: 6: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,767 INFO L290 TraceCheckUtils]: 7: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,767 INFO L290 TraceCheckUtils]: 8: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,767 INFO L290 TraceCheckUtils]: 9: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,768 INFO L290 TraceCheckUtils]: 10: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,768 INFO L290 TraceCheckUtils]: 11: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,769 INFO L290 TraceCheckUtils]: 12: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} is VALID [2022-02-20 23:38:02,769 INFO L290 TraceCheckUtils]: 13: Hoare triple {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} is VALID [2022-02-20 23:38:02,770 INFO L290 TraceCheckUtils]: 14: Hoare triple {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} is VALID [2022-02-20 23:38:02,770 INFO L290 TraceCheckUtils]: 15: Hoare triple {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} is VALID [2022-02-20 23:38:02,770 INFO L290 TraceCheckUtils]: 16: Hoare triple {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} assume { :end_inline_c1 } true; {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} is VALID [2022-02-20 23:38:02,771 INFO L290 TraceCheckUtils]: 17: Hoare triple {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} is VALID [2022-02-20 23:38:02,771 INFO L290 TraceCheckUtils]: 18: Hoare triple {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} assume true; {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} is VALID [2022-02-20 23:38:02,772 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} {26422#(= (select |#valid| 4) 1)} #107#return; {26422#(= (select |#valid| 4) 1)} is VALID [2022-02-20 23:38:02,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {26420#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {26422#(= (select |#valid| 4) 1)} is VALID [2022-02-20 23:38:02,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {26422#(= (select |#valid| 4) 1)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {26422#(= (select |#valid| 4) 1)} is VALID [2022-02-20 23:38:02,773 INFO L272 TraceCheckUtils]: 2: Hoare triple {26422#(= (select |#valid| 4) 1)} call parse_input(3, 0); {26445#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:02,773 INFO L290 TraceCheckUtils]: 3: Hoare triple {26445#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,774 INFO L290 TraceCheckUtils]: 4: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,774 INFO L290 TraceCheckUtils]: 5: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,774 INFO L290 TraceCheckUtils]: 6: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,775 INFO L290 TraceCheckUtils]: 7: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,775 INFO L290 TraceCheckUtils]: 8: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,775 INFO L290 TraceCheckUtils]: 9: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,776 INFO L290 TraceCheckUtils]: 10: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,776 INFO L290 TraceCheckUtils]: 11: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,776 INFO L290 TraceCheckUtils]: 12: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:02,778 INFO L290 TraceCheckUtils]: 15: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} is VALID [2022-02-20 23:38:02,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} is VALID [2022-02-20 23:38:02,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} is VALID [2022-02-20 23:38:02,779 INFO L290 TraceCheckUtils]: 18: Hoare triple {26447#(and (or (= (select |#valid| 4) (select |old(#valid)| 4)) (= |parse_input_c1_~x~0#1.base| 4)) (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} is VALID [2022-02-20 23:38:02,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} assume { :end_inline_c1 } true; {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} is VALID [2022-02-20 23:38:02,780 INFO L290 TraceCheckUtils]: 20: Hoare triple {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} is VALID [2022-02-20 23:38:02,780 INFO L290 TraceCheckUtils]: 21: Hoare triple {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} assume true; {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} is VALID [2022-02-20 23:38:02,780 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26448#(or (= (select |old(#valid)| 4) 0) (= (select |#valid| 4) (select |old(#valid)| 4)))} {26422#(= (select |#valid| 4) 1)} #107#return; {26422#(= (select |#valid| 4) 1)} is VALID [2022-02-20 23:38:02,781 INFO L272 TraceCheckUtils]: 23: Hoare triple {26422#(= (select |#valid| 4) 1)} call parse_input(4, 0); {26443#(= (select |#valid| |parse_input_#in~input#1.base|) 1)} is VALID [2022-02-20 23:38:02,781 INFO L290 TraceCheckUtils]: 24: Hoare triple {26443#(= (select |#valid| |parse_input_#in~input#1.base|) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:02,781 INFO L290 TraceCheckUtils]: 25: Hoare triple {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume !!(~i~0#1 < 2); {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:02,782 INFO L290 TraceCheckUtils]: 26: Hoare triple {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:02,782 INFO L290 TraceCheckUtils]: 27: Hoare triple {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume 1 == #valid[#t~mem3#1.base]; {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:02,782 INFO L290 TraceCheckUtils]: 28: Hoare triple {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:02,783 INFO L290 TraceCheckUtils]: 29: Hoare triple {26444#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume !(1 == #valid[~input#1.base]); {26421#false} is VALID [2022-02-20 23:38:02,783 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:02,783 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:02,783 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [172297009] [2022-02-20 23:38:02,783 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [172297009] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:02,783 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [793531156] [2022-02-20 23:38:02,783 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:02,784 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:02,784 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:02,785 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:38:02,824 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:38:02,848 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:02,849 INFO L263 TraceCheckSpWp]: Trace formula consists of 226 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 23:38:02,856 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:02,857 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:03,055 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:38:03,055 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 23:38:03,112 INFO L290 TraceCheckUtils]: 0: Hoare triple {26420#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {26422#(= (select |#valid| 4) 1)} is VALID [2022-02-20 23:38:03,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {26422#(= (select |#valid| 4) 1)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {26422#(= (select |#valid| 4) 1)} is VALID [2022-02-20 23:38:03,113 INFO L272 TraceCheckUtils]: 2: Hoare triple {26422#(= (select |#valid| 4) 1)} call parse_input(3, 0); {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,114 INFO L290 TraceCheckUtils]: 3: Hoare triple {26446#(= |old(#valid)| |#valid|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,114 INFO L290 TraceCheckUtils]: 4: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,115 INFO L290 TraceCheckUtils]: 6: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,115 INFO L290 TraceCheckUtils]: 7: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,116 INFO L290 TraceCheckUtils]: 8: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,116 INFO L290 TraceCheckUtils]: 9: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,116 INFO L290 TraceCheckUtils]: 10: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,117 INFO L290 TraceCheckUtils]: 11: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,117 INFO L290 TraceCheckUtils]: 12: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,118 INFO L290 TraceCheckUtils]: 13: Hoare triple {26446#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,118 INFO L290 TraceCheckUtils]: 14: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {26446#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:03,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {26446#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:03,120 INFO L290 TraceCheckUtils]: 16: Hoare triple {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:03,120 INFO L290 TraceCheckUtils]: 17: Hoare triple {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:03,121 INFO L290 TraceCheckUtils]: 18: Hoare triple {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:03,121 INFO L290 TraceCheckUtils]: 19: Hoare triple {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume { :end_inline_c1 } true; {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:03,122 INFO L290 TraceCheckUtils]: 20: Hoare triple {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:03,123 INFO L290 TraceCheckUtils]: 21: Hoare triple {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume true; {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:03,123 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {26497#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_40 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_40) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} {26422#(= (select |#valid| 4) 1)} #107#return; {26422#(= (select |#valid| 4) 1)} is VALID [2022-02-20 23:38:03,124 INFO L272 TraceCheckUtils]: 23: Hoare triple {26422#(= (select |#valid| 4) 1)} call parse_input(4, 0); {26522#(and (= (select |#valid| 4) 1) (= |parse_input_#in~input#1.base| 4))} is VALID [2022-02-20 23:38:03,124 INFO L290 TraceCheckUtils]: 24: Hoare triple {26522#(and (= (select |#valid| 4) 1) (= |parse_input_#in~input#1.base| 4))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:03,125 INFO L290 TraceCheckUtils]: 25: Hoare triple {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} assume !!(~i~0#1 < 2); {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:03,125 INFO L290 TraceCheckUtils]: 26: Hoare triple {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:03,126 INFO L290 TraceCheckUtils]: 27: Hoare triple {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} assume 1 == #valid[#t~mem3#1.base]; {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:03,126 INFO L290 TraceCheckUtils]: 28: Hoare triple {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:03,126 INFO L290 TraceCheckUtils]: 29: Hoare triple {26526#(and (= |parse_input_~input#1.base| 4) (= (select |#valid| 4) 1))} assume !(1 == #valid[~input#1.base]); {26421#false} is VALID [2022-02-20 23:38:03,126 INFO L134 CoverageAnalysis]: Checked inductivity of 6 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:03,127 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:03,226 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [793531156] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:03,226 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:03,226 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 10 [2022-02-20 23:38:03,227 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [354870606] [2022-02-20 23:38:03,228 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:03,228 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 8 states have internal predecessors, (41), 1 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:38:03,229 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:03,229 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 8 states have internal predecessors, (41), 1 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:03,262 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 47 edges. 47 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:03,264 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-02-20 23:38:03,264 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:03,264 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-02-20 23:38:03,266 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=121, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:38:03,267 INFO L87 Difference]: Start difference. First operand 465 states and 654 transitions. Second operand has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 8 states have internal predecessors, (41), 1 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:04,032 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:04,037 INFO L93 Difference]: Finished difference Result 568 states and 750 transitions. [2022-02-20 23:38:04,038 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 23:38:04,038 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 8 states have internal predecessors, (41), 1 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) Word has length 30 [2022-02-20 23:38:04,038 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:04,038 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 8 states have internal predecessors, (41), 1 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:04,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 159 transitions. [2022-02-20 23:38:04,045 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 8 states have internal predecessors, (41), 1 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:04,047 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 159 transitions. [2022-02-20 23:38:04,047 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 159 transitions. [2022-02-20 23:38:04,171 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 159 edges. 159 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:04,181 INFO L225 Difference]: With dead ends: 568 [2022-02-20 23:38:04,181 INFO L226 Difference]: Without dead ends: 568 [2022-02-20 23:38:04,182 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 55 GetRequests, 35 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 59 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=119, Invalid=343, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:38:04,183 INFO L933 BasicCegarLoop]: 40 mSDtfsCounter, 268 mSDsluCounter, 155 mSDsCounter, 0 mSdLazyCounter, 335 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 268 SdHoareTripleChecker+Valid, 195 SdHoareTripleChecker+Invalid, 447 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 335 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 94 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:04,183 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [268 Valid, 195 Invalid, 447 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 335 Invalid, 0 Unknown, 94 Unchecked, 0.2s Time] [2022-02-20 23:38:04,184 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 568 states. [2022-02-20 23:38:04,190 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 568 to 516. [2022-02-20 23:38:04,191 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:04,191 INFO L82 GeneralOperation]: Start isEquivalent. First operand 568 states. Second operand has 516 states, 458 states have (on average 1.4061135371179039) internal successors, (644), 488 states have internal predecessors, (644), 14 states have call successors, (14), 13 states have call predecessors, (14), 29 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) [2022-02-20 23:38:04,192 INFO L74 IsIncluded]: Start isIncluded. First operand 568 states. Second operand has 516 states, 458 states have (on average 1.4061135371179039) internal successors, (644), 488 states have internal predecessors, (644), 14 states have call successors, (14), 13 states have call predecessors, (14), 29 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) [2022-02-20 23:38:04,193 INFO L87 Difference]: Start difference. First operand 568 states. Second operand has 516 states, 458 states have (on average 1.4061135371179039) internal successors, (644), 488 states have internal predecessors, (644), 14 states have call successors, (14), 13 states have call predecessors, (14), 29 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) [2022-02-20 23:38:04,205 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:04,205 INFO L93 Difference]: Finished difference Result 568 states and 750 transitions. [2022-02-20 23:38:04,205 INFO L276 IsEmpty]: Start isEmpty. Operand 568 states and 750 transitions. [2022-02-20 23:38:04,206 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:04,206 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:04,207 INFO L74 IsIncluded]: Start isIncluded. First operand has 516 states, 458 states have (on average 1.4061135371179039) internal successors, (644), 488 states have internal predecessors, (644), 14 states have call successors, (14), 13 states have call predecessors, (14), 29 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) Second operand 568 states. [2022-02-20 23:38:04,207 INFO L87 Difference]: Start difference. First operand has 516 states, 458 states have (on average 1.4061135371179039) internal successors, (644), 488 states have internal predecessors, (644), 14 states have call successors, (14), 13 states have call predecessors, (14), 29 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) Second operand 568 states. [2022-02-20 23:38:04,219 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:04,220 INFO L93 Difference]: Finished difference Result 568 states and 750 transitions. [2022-02-20 23:38:04,220 INFO L276 IsEmpty]: Start isEmpty. Operand 568 states and 750 transitions. [2022-02-20 23:38:04,221 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:04,221 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:04,221 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:04,221 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:04,222 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 516 states, 458 states have (on average 1.4061135371179039) internal successors, (644), 488 states have internal predecessors, (644), 14 states have call successors, (14), 13 states have call predecessors, (14), 29 states have return successors, (55), 14 states have call predecessors, (55), 14 states have call successors, (55) [2022-02-20 23:38:04,232 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 516 states to 516 states and 713 transitions. [2022-02-20 23:38:04,232 INFO L78 Accepts]: Start accepts. Automaton has 516 states and 713 transitions. Word has length 30 [2022-02-20 23:38:04,233 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:04,233 INFO L470 AbstractCegarLoop]: Abstraction has 516 states and 713 transitions. [2022-02-20 23:38:04,233 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 11 states have (on average 3.727272727272727) internal successors, (41), 8 states have internal predecessors, (41), 1 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 1 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:04,233 INFO L276 IsEmpty]: Start isEmpty. Operand 516 states and 713 transitions. [2022-02-20 23:38:04,233 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-02-20 23:38:04,233 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:04,233 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:04,250 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:38:04,443 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable17,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:04,443 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting parse_inputErr5ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:04,443 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:04,444 INFO L85 PathProgramCache]: Analyzing trace with hash -1762570929, now seen corresponding path program 1 times [2022-02-20 23:38:04,444 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:04,444 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [555576947] [2022-02-20 23:38:04,444 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:04,444 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:04,456 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:04,497 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:04,503 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:04,543 INFO L290 TraceCheckUtils]: 0: Hoare triple {28831#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,544 INFO L290 TraceCheckUtils]: 1: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,545 INFO L290 TraceCheckUtils]: 2: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,545 INFO L290 TraceCheckUtils]: 3: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,545 INFO L290 TraceCheckUtils]: 4: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,546 INFO L290 TraceCheckUtils]: 6: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,546 INFO L290 TraceCheckUtils]: 7: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,547 INFO L290 TraceCheckUtils]: 8: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,547 INFO L290 TraceCheckUtils]: 9: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,548 INFO L290 TraceCheckUtils]: 10: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,548 INFO L290 TraceCheckUtils]: 11: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,549 INFO L290 TraceCheckUtils]: 12: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} is VALID [2022-02-20 23:38:04,549 INFO L290 TraceCheckUtils]: 13: Hoare triple {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} is VALID [2022-02-20 23:38:04,550 INFO L290 TraceCheckUtils]: 14: Hoare triple {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} is VALID [2022-02-20 23:38:04,550 INFO L290 TraceCheckUtils]: 15: Hoare triple {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} is VALID [2022-02-20 23:38:04,550 INFO L290 TraceCheckUtils]: 16: Hoare triple {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} assume { :end_inline_c1 } true; {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} is VALID [2022-02-20 23:38:04,551 INFO L290 TraceCheckUtils]: 17: Hoare triple {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} is VALID [2022-02-20 23:38:04,551 INFO L290 TraceCheckUtils]: 18: Hoare triple {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} assume true; {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} is VALID [2022-02-20 23:38:04,552 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} {28807#(and (= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} #107#return; {28828#(= 3 (select |#length| 4))} is VALID [2022-02-20 23:38:04,553 INFO L290 TraceCheckUtils]: 0: Hoare triple {28805#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {28807#(and (= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:04,554 INFO L290 TraceCheckUtils]: 1: Hoare triple {28807#(and (= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {28807#(and (= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:04,554 INFO L272 TraceCheckUtils]: 2: Hoare triple {28807#(and (= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} call parse_input(3, 0); {28831#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,555 INFO L290 TraceCheckUtils]: 3: Hoare triple {28831#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,555 INFO L290 TraceCheckUtils]: 4: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,555 INFO L290 TraceCheckUtils]: 5: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,556 INFO L290 TraceCheckUtils]: 6: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,556 INFO L290 TraceCheckUtils]: 7: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,556 INFO L290 TraceCheckUtils]: 8: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,557 INFO L290 TraceCheckUtils]: 9: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,557 INFO L290 TraceCheckUtils]: 10: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,558 INFO L290 TraceCheckUtils]: 11: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,558 INFO L290 TraceCheckUtils]: 12: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,558 INFO L290 TraceCheckUtils]: 13: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,559 INFO L290 TraceCheckUtils]: 14: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:04,559 INFO L290 TraceCheckUtils]: 15: Hoare triple {28832#(and (= (select |old(#length)| 4) (select |#length| 4)) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} is VALID [2022-02-20 23:38:04,560 INFO L290 TraceCheckUtils]: 16: Hoare triple {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} is VALID [2022-02-20 23:38:04,560 INFO L290 TraceCheckUtils]: 17: Hoare triple {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} is VALID [2022-02-20 23:38:04,561 INFO L290 TraceCheckUtils]: 18: Hoare triple {28833#(and (or (= (select |old(#valid)| 4) 0) (not (= |parse_input_c1_~x~0#1.base| 4))) (or (= (select |old(#length)| 4) (select |#length| 4)) (= |parse_input_c1_~x~0#1.base| 4)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} is VALID [2022-02-20 23:38:04,561 INFO L290 TraceCheckUtils]: 19: Hoare triple {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} assume { :end_inline_c1 } true; {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} is VALID [2022-02-20 23:38:04,561 INFO L290 TraceCheckUtils]: 20: Hoare triple {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} is VALID [2022-02-20 23:38:04,562 INFO L290 TraceCheckUtils]: 21: Hoare triple {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} assume true; {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} is VALID [2022-02-20 23:38:04,562 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {28834#(or (= (select |old(#valid)| 4) 0) (= (select |old(#length)| 4) (select |#length| 4)))} {28807#(and (= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} #107#return; {28828#(= 3 (select |#length| 4))} is VALID [2022-02-20 23:38:04,563 INFO L272 TraceCheckUtils]: 23: Hoare triple {28828#(= 3 (select |#length| 4))} call parse_input(4, 0); {28829#(and (= 3 (select |#length| 4)) (= |parse_input_#in~input#1.base| 4) (= |parse_input_#in~input#1.offset| 0))} is VALID [2022-02-20 23:38:04,563 INFO L290 TraceCheckUtils]: 24: Hoare triple {28829#(and (= 3 (select |#length| 4)) (= |parse_input_#in~input#1.base| 4) (= |parse_input_#in~input#1.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:04,564 INFO L290 TraceCheckUtils]: 25: Hoare triple {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} assume !!(~i~0#1 < 2); {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:04,564 INFO L290 TraceCheckUtils]: 26: Hoare triple {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:04,564 INFO L290 TraceCheckUtils]: 27: Hoare triple {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} assume 1 == #valid[#t~mem3#1.base]; {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:04,565 INFO L290 TraceCheckUtils]: 28: Hoare triple {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:04,565 INFO L290 TraceCheckUtils]: 29: Hoare triple {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} assume 1 == #valid[~input#1.base]; {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:04,565 INFO L290 TraceCheckUtils]: 30: Hoare triple {28830#(and (= (select |#length| |parse_input_~input#1.base|) 3) (= |parse_input_~input#1.offset| 0))} assume !(~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0); {28806#false} is VALID [2022-02-20 23:38:04,566 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:04,566 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:04,566 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [555576947] [2022-02-20 23:38:04,566 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [555576947] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:04,566 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1086552278] [2022-02-20 23:38:04,566 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:04,566 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:04,567 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:04,568 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:38:04,569 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:38:04,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:04,626 INFO L263 TraceCheckSpWp]: Trace formula consists of 228 conjuncts, 21 conjunts are in the unsatisfiable core [2022-02-20 23:38:04,632 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:04,633 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:04,889 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:04,892 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 14 [2022-02-20 23:38:05,000 INFO L290 TraceCheckUtils]: 0: Hoare triple {28805#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {28838#(and (<= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:05,000 INFO L290 TraceCheckUtils]: 1: Hoare triple {28838#(and (<= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {28838#(and (<= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} is VALID [2022-02-20 23:38:05,001 INFO L272 TraceCheckUtils]: 2: Hoare triple {28838#(and (<= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} call parse_input(3, 0); {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,001 INFO L290 TraceCheckUtils]: 3: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,001 INFO L290 TraceCheckUtils]: 4: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,002 INFO L290 TraceCheckUtils]: 5: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,002 INFO L290 TraceCheckUtils]: 6: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,002 INFO L290 TraceCheckUtils]: 7: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,003 INFO L290 TraceCheckUtils]: 8: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,003 INFO L290 TraceCheckUtils]: 9: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,004 INFO L290 TraceCheckUtils]: 10: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,004 INFO L290 TraceCheckUtils]: 11: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,004 INFO L290 TraceCheckUtils]: 12: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,005 INFO L290 TraceCheckUtils]: 13: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,005 INFO L290 TraceCheckUtils]: 14: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:05,006 INFO L290 TraceCheckUtils]: 15: Hoare triple {28845#(and (= |old(#length)| |#length|) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:05,007 INFO L290 TraceCheckUtils]: 16: Hoare triple {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:05,007 INFO L290 TraceCheckUtils]: 17: Hoare triple {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:05,008 INFO L290 TraceCheckUtils]: 18: Hoare triple {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:05,008 INFO L290 TraceCheckUtils]: 19: Hoare triple {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume { :end_inline_c1 } true; {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:05,009 INFO L290 TraceCheckUtils]: 20: Hoare triple {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:05,010 INFO L290 TraceCheckUtils]: 21: Hoare triple {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume true; {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:05,010 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {28885#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_50 Int)) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_50))) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} {28838#(and (<= 3 (select |#length| 4)) (= (select |#valid| 4) 1))} #107#return; {28907#(<= 3 (select |#length| 4))} is VALID [2022-02-20 23:38:05,011 INFO L272 TraceCheckUtils]: 23: Hoare triple {28907#(<= 3 (select |#length| 4))} call parse_input(4, 0); {28911#(and (<= 3 (select |#length| 4)) (= |parse_input_#in~input#1.base| 4) (= |parse_input_#in~input#1.offset| 0))} is VALID [2022-02-20 23:38:05,011 INFO L290 TraceCheckUtils]: 24: Hoare triple {28911#(and (<= 3 (select |#length| 4)) (= |parse_input_#in~input#1.base| 4) (= |parse_input_#in~input#1.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:05,012 INFO L290 TraceCheckUtils]: 25: Hoare triple {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} assume !!(~i~0#1 < 2); {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:05,012 INFO L290 TraceCheckUtils]: 26: Hoare triple {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:05,013 INFO L290 TraceCheckUtils]: 27: Hoare triple {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} assume 1 == #valid[#t~mem3#1.base]; {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:05,013 INFO L290 TraceCheckUtils]: 28: Hoare triple {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:05,014 INFO L290 TraceCheckUtils]: 29: Hoare triple {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} assume 1 == #valid[~input#1.base]; {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} is VALID [2022-02-20 23:38:05,014 INFO L290 TraceCheckUtils]: 30: Hoare triple {28915#(and (<= 3 (select |#length| 4)) (= |parse_input_~input#1.base| 4) (= |parse_input_~input#1.offset| 0))} assume !(~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0); {28806#false} is VALID [2022-02-20 23:38:05,014 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:05,014 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:05,202 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1086552278] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:05,202 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:05,202 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 6] total 14 [2022-02-20 23:38:05,202 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [620300224] [2022-02-20 23:38:05,202 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:05,202 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 10 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 31 [2022-02-20 23:38:05,202 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:05,203 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 10 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:05,260 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 62 edges. 62 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:05,260 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:38:05,261 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:05,261 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:38:05,261 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=312, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:38:05,261 INFO L87 Difference]: Start difference. First operand 516 states and 713 transitions. Second operand has 16 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 10 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:06,395 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:06,395 INFO L93 Difference]: Finished difference Result 663 states and 845 transitions. [2022-02-20 23:38:06,395 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 23:38:06,396 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 10 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 31 [2022-02-20 23:38:06,396 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:06,396 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 10 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:06,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 197 transitions. [2022-02-20 23:38:06,397 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 10 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:06,398 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 197 transitions. [2022-02-20 23:38:06,399 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 197 transitions. [2022-02-20 23:38:06,552 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 197 edges. 197 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:06,565 INFO L225 Difference]: With dead ends: 663 [2022-02-20 23:38:06,565 INFO L226 Difference]: Without dead ends: 663 [2022-02-20 23:38:06,565 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 59 GetRequests, 30 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 162 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=227, Invalid=703, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:38:06,565 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 369 mSDsluCounter, 253 mSDsCounter, 0 mSdLazyCounter, 438 mSolverCounterSat, 33 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 369 SdHoareTripleChecker+Valid, 297 SdHoareTripleChecker+Invalid, 577 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 33 IncrementalHoareTripleChecker+Valid, 438 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 106 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:06,566 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [369 Valid, 297 Invalid, 577 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [33 Valid, 438 Invalid, 0 Unknown, 106 Unchecked, 0.3s Time] [2022-02-20 23:38:06,566 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 663 states. [2022-02-20 23:38:06,577 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 663 to 590. [2022-02-20 23:38:06,578 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:06,578 INFO L82 GeneralOperation]: Start isEquivalent. First operand 663 states. Second operand has 590 states, 529 states have (on average 1.393194706994329) internal successors, (737), 561 states have internal predecessors, (737), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) [2022-02-20 23:38:06,579 INFO L74 IsIncluded]: Start isIncluded. First operand 663 states. Second operand has 590 states, 529 states have (on average 1.393194706994329) internal successors, (737), 561 states have internal predecessors, (737), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) [2022-02-20 23:38:06,579 INFO L87 Difference]: Start difference. First operand 663 states. Second operand has 590 states, 529 states have (on average 1.393194706994329) internal successors, (737), 561 states have internal predecessors, (737), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) [2022-02-20 23:38:06,594 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:06,594 INFO L93 Difference]: Finished difference Result 663 states and 845 transitions. [2022-02-20 23:38:06,594 INFO L276 IsEmpty]: Start isEmpty. Operand 663 states and 845 transitions. [2022-02-20 23:38:06,595 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:06,595 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:06,596 INFO L74 IsIncluded]: Start isIncluded. First operand has 590 states, 529 states have (on average 1.393194706994329) internal successors, (737), 561 states have internal predecessors, (737), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) Second operand 663 states. [2022-02-20 23:38:06,597 INFO L87 Difference]: Start difference. First operand has 590 states, 529 states have (on average 1.393194706994329) internal successors, (737), 561 states have internal predecessors, (737), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) Second operand 663 states. [2022-02-20 23:38:06,612 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:06,612 INFO L93 Difference]: Finished difference Result 663 states and 845 transitions. [2022-02-20 23:38:06,612 INFO L276 IsEmpty]: Start isEmpty. Operand 663 states and 845 transitions. [2022-02-20 23:38:06,613 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:06,613 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:06,613 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:06,613 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:06,614 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 590 states, 529 states have (on average 1.393194706994329) internal successors, (737), 561 states have internal predecessors, (737), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) [2022-02-20 23:38:06,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 590 states to 590 states and 804 transitions. [2022-02-20 23:38:06,626 INFO L78 Accepts]: Start accepts. Automaton has 590 states and 804 transitions. Word has length 31 [2022-02-20 23:38:06,627 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:06,627 INFO L470 AbstractCegarLoop]: Abstraction has 590 states and 804 transitions. [2022-02-20 23:38:06,627 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 13 states have (on average 4.3076923076923075) internal successors, (56), 10 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:06,627 INFO L276 IsEmpty]: Start isEmpty. Operand 590 states and 804 transitions. [2022-02-20 23:38:06,628 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 36 [2022-02-20 23:38:06,628 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:06,628 INFO L514 BasicCegarLoop]: trace histogram [3, 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:38:06,647 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:38:06,836 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:06,837 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting parse_inputErr1REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:06,837 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:06,837 INFO L85 PathProgramCache]: Analyzing trace with hash -132941611, now seen corresponding path program 1 times [2022-02-20 23:38:06,837 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:06,837 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1249100104] [2022-02-20 23:38:06,837 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:06,837 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:06,857 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:06,950 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:06,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:07,017 INFO L290 TraceCheckUtils]: 0: Hoare triple {31593#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {31594#(= (select |#length| 6) (select |old(#length)| 6))} is VALID [2022-02-20 23:38:07,017 INFO L290 TraceCheckUtils]: 1: Hoare triple {31594#(= (select |#length| 6) (select |old(#length)| 6))} assume !!(~i~0#1 < 2); {31594#(= (select |#length| 6) (select |old(#length)| 6))} is VALID [2022-02-20 23:38:07,018 INFO L290 TraceCheckUtils]: 2: Hoare triple {31594#(= (select |#length| 6) (select |old(#length)| 6))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,018 INFO L290 TraceCheckUtils]: 3: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 1 == #valid[#t~mem3#1.base]; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,019 INFO L290 TraceCheckUtils]: 4: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,019 INFO L290 TraceCheckUtils]: 5: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 1 == #valid[~input#1.base]; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,020 INFO L290 TraceCheckUtils]: 6: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,020 INFO L290 TraceCheckUtils]: 7: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,021 INFO L290 TraceCheckUtils]: 8: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,021 INFO L290 TraceCheckUtils]: 9: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,022 INFO L290 TraceCheckUtils]: 10: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,022 INFO L290 TraceCheckUtils]: 11: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,023 INFO L290 TraceCheckUtils]: 12: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,024 INFO L290 TraceCheckUtils]: 13: Hoare triple {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,024 INFO L290 TraceCheckUtils]: 14: Hoare triple {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,025 INFO L290 TraceCheckUtils]: 16: Hoare triple {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume { :end_inline_c1 } true; {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,025 INFO L290 TraceCheckUtils]: 17: Hoare triple {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume true; {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,026 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {31566#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,028 INFO L290 TraceCheckUtils]: 1: Hoare triple {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,029 INFO L272 TraceCheckUtils]: 2: Hoare triple {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(3, 0); {31593#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,029 INFO L290 TraceCheckUtils]: 3: Hoare triple {31593#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {31594#(= (select |#length| 6) (select |old(#length)| 6))} is VALID [2022-02-20 23:38:07,030 INFO L290 TraceCheckUtils]: 4: Hoare triple {31594#(= (select |#length| 6) (select |old(#length)| 6))} assume !!(~i~0#1 < 2); {31594#(= (select |#length| 6) (select |old(#length)| 6))} is VALID [2022-02-20 23:38:07,030 INFO L290 TraceCheckUtils]: 5: Hoare triple {31594#(= (select |#length| 6) (select |old(#length)| 6))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 1 == #valid[#t~mem3#1.base]; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 1 == #valid[~input#1.base]; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,033 INFO L290 TraceCheckUtils]: 10: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,033 INFO L290 TraceCheckUtils]: 11: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,034 INFO L290 TraceCheckUtils]: 12: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,034 INFO L290 TraceCheckUtils]: 13: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,035 INFO L290 TraceCheckUtils]: 14: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,035 INFO L290 TraceCheckUtils]: 15: Hoare triple {31595#(or (and (= (select |#length| 6) (select |old(#length)| 6)) (= (select |#valid| |~#commands~0.base|) 1)) (not (= 6 |~#commands~0.base|)))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,036 INFO L290 TraceCheckUtils]: 16: Hoare triple {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,036 INFO L290 TraceCheckUtils]: 17: Hoare triple {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,037 INFO L290 TraceCheckUtils]: 18: Hoare triple {31596#(or (and (not (= |parse_input_c1_~x~0#1.base| 6)) (= (select |#length| 6) (select |old(#length)| 6))) (not (= 6 |~#commands~0.base|)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,037 INFO L290 TraceCheckUtils]: 19: Hoare triple {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume { :end_inline_c1 } true; {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,038 INFO L290 TraceCheckUtils]: 21: Hoare triple {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} assume true; {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} is VALID [2022-02-20 23:38:07,038 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31597#(or (= (select |#length| 6) (select |old(#length)| 6)) (not (= 6 |~#commands~0.base|)))} {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,039 INFO L272 TraceCheckUtils]: 23: Hoare triple {31568#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(4, 0); {31589#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,039 INFO L290 TraceCheckUtils]: 24: Hoare triple {31589#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,040 INFO L290 TraceCheckUtils]: 25: Hoare triple {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,040 INFO L290 TraceCheckUtils]: 26: Hoare triple {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,040 INFO L290 TraceCheckUtils]: 27: Hoare triple {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume 1 == #valid[#t~mem3#1.base]; {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,041 INFO L290 TraceCheckUtils]: 28: Hoare triple {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,041 INFO L290 TraceCheckUtils]: 29: Hoare triple {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume 1 == #valid[~input#1.base]; {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,042 INFO L290 TraceCheckUtils]: 30: Hoare triple {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,042 INFO L290 TraceCheckUtils]: 31: Hoare triple {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,042 INFO L290 TraceCheckUtils]: 32: Hoare triple {31590#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {31591#(and (<= 9 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,043 INFO L290 TraceCheckUtils]: 33: Hoare triple {31591#(and (<= 9 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {31592#(and (<= 9 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= 18 (select |#length| |~#commands~0.base|)) (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 9))} is VALID [2022-02-20 23:38:07,043 INFO L290 TraceCheckUtils]: 34: Hoare triple {31592#(and (<= 9 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= 18 (select |#length| |~#commands~0.base|)) (<= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 9))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {31567#false} is VALID [2022-02-20 23:38:07,044 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:07,044 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:07,044 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1249100104] [2022-02-20 23:38:07,044 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1249100104] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:07,044 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2109281209] [2022-02-20 23:38:07,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:07,044 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:07,044 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:07,045 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:38:07,046 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:38:07,104 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:07,105 INFO L263 TraceCheckSpWp]: Trace formula consists of 234 conjuncts, 21 conjunts are in the unsatisfiable core [2022-02-20 23:38:07,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:07,112 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:07,522 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:07,523 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 14 [2022-02-20 23:38:07,703 INFO L290 TraceCheckUtils]: 0: Hoare triple {31566#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {31601#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:07,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {31601#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {31601#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:07,704 INFO L272 TraceCheckUtils]: 2: Hoare triple {31601#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} call parse_input(3, 0); {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,705 INFO L290 TraceCheckUtils]: 3: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,705 INFO L290 TraceCheckUtils]: 4: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,710 INFO L290 TraceCheckUtils]: 6: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,711 INFO L290 TraceCheckUtils]: 7: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,711 INFO L290 TraceCheckUtils]: 8: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,712 INFO L290 TraceCheckUtils]: 9: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,712 INFO L290 TraceCheckUtils]: 10: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,713 INFO L290 TraceCheckUtils]: 11: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,713 INFO L290 TraceCheckUtils]: 12: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,713 INFO L290 TraceCheckUtils]: 13: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,714 INFO L290 TraceCheckUtils]: 14: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:07,715 INFO L290 TraceCheckUtils]: 15: Hoare triple {31608#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,715 INFO L290 TraceCheckUtils]: 16: Hoare triple {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,716 INFO L290 TraceCheckUtils]: 17: Hoare triple {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,716 INFO L290 TraceCheckUtils]: 18: Hoare triple {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,717 INFO L290 TraceCheckUtils]: 19: Hoare triple {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} assume { :end_inline_c1 } true; {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,717 INFO L290 TraceCheckUtils]: 20: Hoare triple {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,718 INFO L290 TraceCheckUtils]: 21: Hoare triple {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} assume true; {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,719 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {31648#(and (= 6 |~#commands~0.base|) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_60 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_60)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))) (= |~#commands~0.offset| 0))} {31601#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} #107#return; {31670#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,719 INFO L272 TraceCheckUtils]: 23: Hoare triple {31670#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} call parse_input(4, 0); {31670#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,720 INFO L290 TraceCheckUtils]: 24: Hoare triple {31670#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:07,720 INFO L290 TraceCheckUtils]: 25: Hoare triple {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume !!(~i~0#1 < 2); {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:07,721 INFO L290 TraceCheckUtils]: 26: Hoare triple {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:07,721 INFO L290 TraceCheckUtils]: 27: Hoare triple {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:07,721 INFO L290 TraceCheckUtils]: 28: Hoare triple {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:07,722 INFO L290 TraceCheckUtils]: 29: Hoare triple {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[~input#1.base]; {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:07,722 INFO L290 TraceCheckUtils]: 30: Hoare triple {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:07,723 INFO L290 TraceCheckUtils]: 31: Hoare triple {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:07,723 INFO L290 TraceCheckUtils]: 32: Hoare triple {31677#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {31702#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |parse_input_~i~0#1| 1) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,723 INFO L290 TraceCheckUtils]: 33: Hoare triple {31702#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |parse_input_~i~0#1| 1) (= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {31702#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |parse_input_~i~0#1| 1) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:07,724 INFO L290 TraceCheckUtils]: 34: Hoare triple {31702#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |parse_input_~i~0#1| 1) (= |~#commands~0.offset| 0))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {31567#false} is VALID [2022-02-20 23:38:07,724 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 12 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:07,724 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:07,982 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2109281209] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:07,982 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:07,982 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 6] total 16 [2022-02-20 23:38:07,982 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1874782116] [2022-02-20 23:38:07,982 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:07,983 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 3.764705882352941) internal successors, (64), 14 states have internal predecessors, (64), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 35 [2022-02-20 23:38:07,984 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:07,984 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 3.764705882352941) internal successors, (64), 14 states have internal predecessors, (64), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:08,031 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:38:08,032 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-20 23:38:08,032 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:08,032 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-20 23:38:08,032 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=68, Invalid=394, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:38:08,032 INFO L87 Difference]: Start difference. First operand 590 states and 804 transitions. Second operand has 18 states, 17 states have (on average 3.764705882352941) internal successors, (64), 14 states have internal predecessors, (64), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:09,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:09,698 INFO L93 Difference]: Finished difference Result 626 states and 810 transitions. [2022-02-20 23:38:09,698 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 21 states. [2022-02-20 23:38:09,699 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 3.764705882352941) internal successors, (64), 14 states have internal predecessors, (64), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 35 [2022-02-20 23:38:09,699 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:09,699 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 3.764705882352941) internal successors, (64), 14 states have internal predecessors, (64), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:09,700 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 159 transitions. [2022-02-20 23:38:09,700 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 3.764705882352941) internal successors, (64), 14 states have internal predecessors, (64), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:09,701 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 21 states to 21 states and 159 transitions. [2022-02-20 23:38:09,701 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 21 states and 159 transitions. [2022-02-20 23:38:09,842 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 159 edges. 159 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:09,854 INFO L225 Difference]: With dead ends: 626 [2022-02-20 23:38:09,854 INFO L226 Difference]: Without dead ends: 626 [2022-02-20 23:38:09,854 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 74 GetRequests, 39 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 193 ImplicationChecksByTransitivity, 0.6s TimeCoverageRelationStatistics Valid=258, Invalid=1002, Unknown=0, NotChecked=0, Total=1260 [2022-02-20 23:38:09,855 INFO L933 BasicCegarLoop]: 33 mSDtfsCounter, 644 mSDsluCounter, 230 mSDsCounter, 0 mSdLazyCounter, 453 mSolverCounterSat, 115 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 644 SdHoareTripleChecker+Valid, 263 SdHoareTripleChecker+Invalid, 655 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 115 IncrementalHoareTripleChecker+Valid, 453 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 87 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:09,855 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [644 Valid, 263 Invalid, 655 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [115 Valid, 453 Invalid, 0 Unknown, 87 Unchecked, 0.5s Time] [2022-02-20 23:38:09,860 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 626 states. [2022-02-20 23:38:09,868 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 626 to 590. [2022-02-20 23:38:09,868 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:09,870 INFO L82 GeneralOperation]: Start isEquivalent. First operand 626 states. Second operand has 590 states, 529 states have (on average 1.3686200378071833) internal successors, (724), 561 states have internal predecessors, (724), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) [2022-02-20 23:38:09,870 INFO L74 IsIncluded]: Start isIncluded. First operand 626 states. Second operand has 590 states, 529 states have (on average 1.3686200378071833) internal successors, (724), 561 states have internal predecessors, (724), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) [2022-02-20 23:38:09,871 INFO L87 Difference]: Start difference. First operand 626 states. Second operand has 590 states, 529 states have (on average 1.3686200378071833) internal successors, (724), 561 states have internal predecessors, (724), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) [2022-02-20 23:38:09,885 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:09,885 INFO L93 Difference]: Finished difference Result 626 states and 810 transitions. [2022-02-20 23:38:09,885 INFO L276 IsEmpty]: Start isEmpty. Operand 626 states and 810 transitions. [2022-02-20 23:38:09,886 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:09,886 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:09,887 INFO L74 IsIncluded]: Start isIncluded. First operand has 590 states, 529 states have (on average 1.3686200378071833) internal successors, (724), 561 states have internal predecessors, (724), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) Second operand 626 states. [2022-02-20 23:38:09,888 INFO L87 Difference]: Start difference. First operand has 590 states, 529 states have (on average 1.3686200378071833) internal successors, (724), 561 states have internal predecessors, (724), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) Second operand 626 states. [2022-02-20 23:38:09,901 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:09,901 INFO L93 Difference]: Finished difference Result 626 states and 810 transitions. [2022-02-20 23:38:09,901 INFO L276 IsEmpty]: Start isEmpty. Operand 626 states and 810 transitions. [2022-02-20 23:38:09,902 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:09,902 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:09,903 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:09,903 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:09,903 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 590 states, 529 states have (on average 1.3686200378071833) internal successors, (724), 561 states have internal predecessors, (724), 14 states have call successors, (14), 14 states have call predecessors, (14), 32 states have return successors, (53), 14 states have call predecessors, (53), 14 states have call successors, (53) [2022-02-20 23:38:09,917 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 590 states to 590 states and 791 transitions. [2022-02-20 23:38:09,917 INFO L78 Accepts]: Start accepts. Automaton has 590 states and 791 transitions. Word has length 35 [2022-02-20 23:38:09,917 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:09,917 INFO L470 AbstractCegarLoop]: Abstraction has 590 states and 791 transitions. [2022-02-20 23:38:09,918 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 3.764705882352941) internal successors, (64), 14 states have internal predecessors, (64), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:09,918 INFO L276 IsEmpty]: Start isEmpty. Operand 590 states and 791 transitions. [2022-02-20 23:38:09,918 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-02-20 23:38:09,918 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:09,918 INFO L514 BasicCegarLoop]: trace histogram [3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:09,943 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:38:10,135 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable19,10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:10,136 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting parse_inputErr0REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:10,136 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:10,136 INFO L85 PathProgramCache]: Analyzing trace with hash 1525473162, now seen corresponding path program 1 times [2022-02-20 23:38:10,136 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:10,137 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [318180115] [2022-02-20 23:38:10,137 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:10,137 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:10,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:10,191 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:10,205 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:10,231 INFO L290 TraceCheckUtils]: 0: Hoare triple {34283#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume !!(~i~0#1 < 2); {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,232 INFO L290 TraceCheckUtils]: 2: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,232 INFO L290 TraceCheckUtils]: 3: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[#t~mem3#1.base]; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,233 INFO L290 TraceCheckUtils]: 4: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[~input#1.base]; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume !!(~i~0#1 < 2); {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,235 INFO L290 TraceCheckUtils]: 10: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,235 INFO L290 TraceCheckUtils]: 11: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[#t~mem3#1.base]; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,236 INFO L290 TraceCheckUtils]: 12: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[~input#1.base]; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,236 INFO L290 TraceCheckUtils]: 14: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,237 INFO L290 TraceCheckUtils]: 16: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,237 INFO L290 TraceCheckUtils]: 17: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,238 INFO L290 TraceCheckUtils]: 18: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,238 INFO L290 TraceCheckUtils]: 19: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,239 INFO L290 TraceCheckUtils]: 21: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,239 INFO L290 TraceCheckUtils]: 22: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == ~global~0.offset; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,240 INFO L290 TraceCheckUtils]: 23: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~global~0.base < #StackHeapBarrier; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,240 INFO L290 TraceCheckUtils]: 24: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:10,240 INFO L290 TraceCheckUtils]: 25: Hoare triple {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume { :end_inline_c2 } true; {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:10,241 INFO L290 TraceCheckUtils]: 26: Hoare triple {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:10,241 INFO L290 TraceCheckUtils]: 27: Hoare triple {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume true; {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:10,242 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} {34251#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} #107#return; {34281#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:10,243 INFO L290 TraceCheckUtils]: 0: Hoare triple {34249#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {34251#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:10,243 INFO L290 TraceCheckUtils]: 1: Hoare triple {34251#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {34251#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:10,244 INFO L272 TraceCheckUtils]: 2: Hoare triple {34251#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} call parse_input(3, 0); {34283#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:10,244 INFO L290 TraceCheckUtils]: 3: Hoare triple {34283#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,245 INFO L290 TraceCheckUtils]: 4: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume !!(~i~0#1 < 2); {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,245 INFO L290 TraceCheckUtils]: 5: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,245 INFO L290 TraceCheckUtils]: 6: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[#t~mem3#1.base]; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,246 INFO L290 TraceCheckUtils]: 7: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,246 INFO L290 TraceCheckUtils]: 8: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[~input#1.base]; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,246 INFO L290 TraceCheckUtils]: 9: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,247 INFO L290 TraceCheckUtils]: 10: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,247 INFO L290 TraceCheckUtils]: 11: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,247 INFO L290 TraceCheckUtils]: 12: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume !!(~i~0#1 < 2); {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,248 INFO L290 TraceCheckUtils]: 14: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[#t~mem3#1.base]; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,249 INFO L290 TraceCheckUtils]: 15: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,249 INFO L290 TraceCheckUtils]: 16: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 1 == #valid[~input#1.base]; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,249 INFO L290 TraceCheckUtils]: 17: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,250 INFO L290 TraceCheckUtils]: 18: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,250 INFO L290 TraceCheckUtils]: 19: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,250 INFO L290 TraceCheckUtils]: 20: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,251 INFO L290 TraceCheckUtils]: 21: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,251 INFO L290 TraceCheckUtils]: 22: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,251 INFO L290 TraceCheckUtils]: 23: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,252 INFO L290 TraceCheckUtils]: 24: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,252 INFO L290 TraceCheckUtils]: 25: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == ~global~0.offset; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,252 INFO L290 TraceCheckUtils]: 26: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume ~global~0.base < #StackHeapBarrier; {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} is VALID [2022-02-20 23:38:10,253 INFO L290 TraceCheckUtils]: 27: Hoare triple {34284#(and (= ~global~0.base |old(~global~0.base)|) (= (select |old(#valid)| 6) (select |#valid| 6)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:10,253 INFO L290 TraceCheckUtils]: 28: Hoare triple {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume { :end_inline_c2 } true; {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:10,254 INFO L290 TraceCheckUtils]: 29: Hoare triple {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:10,254 INFO L290 TraceCheckUtils]: 30: Hoare triple {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} assume true; {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:10,255 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {34285#(and (= ~global~0.base |old(~global~0.base)|) (or (= (select |old(#valid)| 6) (select |#valid| 6)) (= ~global~0.base 6)))} {34251#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0) (= (select |#valid| 6) 1))} #107#return; {34281#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:10,255 INFO L272 TraceCheckUtils]: 32: Hoare triple {34281#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)) (= (select |#valid| 6) 1))} call parse_input(4, 0); {34282#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:10,255 INFO L290 TraceCheckUtils]: 33: Hoare triple {34282#(= (select |#valid| |~#commands~0.base|) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {34282#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:10,256 INFO L290 TraceCheckUtils]: 34: Hoare triple {34282#(= (select |#valid| |~#commands~0.base|) 1)} assume !!(~i~0#1 < 2); {34282#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:10,256 INFO L290 TraceCheckUtils]: 35: Hoare triple {34282#(= (select |#valid| |~#commands~0.base|) 1)} assume !(1 == #valid[~#commands~0.base]); {34250#false} is VALID [2022-02-20 23:38:10,256 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:38:10,256 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:10,256 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [318180115] [2022-02-20 23:38:10,257 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [318180115] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:10,257 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1313361112] [2022-02-20 23:38:10,257 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:10,257 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:10,257 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:10,258 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:38:10,266 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:38:10,316 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:10,317 INFO L263 TraceCheckSpWp]: Trace formula consists of 226 conjuncts, 14 conjunts are in the unsatisfiable core [2022-02-20 23:38:10,326 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:10,326 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:10,565 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:38:10,565 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 18 [2022-02-20 23:38:10,647 INFO L290 TraceCheckUtils]: 0: Hoare triple {34249#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {34289#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0))} is VALID [2022-02-20 23:38:10,648 INFO L290 TraceCheckUtils]: 1: Hoare triple {34289#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {34289#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0))} is VALID [2022-02-20 23:38:10,648 INFO L272 TraceCheckUtils]: 2: Hoare triple {34289#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0))} call parse_input(3, 0); {34296#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:10,649 INFO L290 TraceCheckUtils]: 3: Hoare triple {34296#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {34296#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:10,649 INFO L290 TraceCheckUtils]: 4: Hoare triple {34296#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} assume !!(~i~0#1 < 2); {34296#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:10,650 INFO L290 TraceCheckUtils]: 5: Hoare triple {34296#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,650 INFO L290 TraceCheckUtils]: 6: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,650 INFO L290 TraceCheckUtils]: 7: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,651 INFO L290 TraceCheckUtils]: 8: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,651 INFO L290 TraceCheckUtils]: 9: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,651 INFO L290 TraceCheckUtils]: 10: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,652 INFO L290 TraceCheckUtils]: 11: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,652 INFO L290 TraceCheckUtils]: 12: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume !!(~i~0#1 < 2); {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,652 INFO L290 TraceCheckUtils]: 13: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,653 INFO L290 TraceCheckUtils]: 14: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,653 INFO L290 TraceCheckUtils]: 15: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,653 INFO L290 TraceCheckUtils]: 16: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,654 INFO L290 TraceCheckUtils]: 17: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,654 INFO L290 TraceCheckUtils]: 18: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,655 INFO L290 TraceCheckUtils]: 19: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,658 INFO L290 TraceCheckUtils]: 20: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,659 INFO L290 TraceCheckUtils]: 21: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,659 INFO L290 TraceCheckUtils]: 22: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,660 INFO L290 TraceCheckUtils]: 23: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,660 INFO L290 TraceCheckUtils]: 24: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,661 INFO L290 TraceCheckUtils]: 25: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == ~global~0.offset; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,661 INFO L290 TraceCheckUtils]: 26: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~global~0.base < #StackHeapBarrier; {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,661 INFO L290 TraceCheckUtils]: 27: Hoare triple {34306#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {34373#(and (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:10,662 INFO L290 TraceCheckUtils]: 28: Hoare triple {34373#(and (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} assume { :end_inline_c2 } true; {34373#(and (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:10,662 INFO L290 TraceCheckUtils]: 29: Hoare triple {34373#(and (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {34373#(and (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:10,663 INFO L290 TraceCheckUtils]: 30: Hoare triple {34373#(and (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} assume true; {34373#(and (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:10,663 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {34373#(and (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} {34289#(and (= 6 |~#commands~0.base|) (= ~global~0.base 0))} #107#return; {34386#(and (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,664 INFO L272 TraceCheckUtils]: 32: Hoare triple {34386#(and (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} call parse_input(4, 0); {34386#(and (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,664 INFO L290 TraceCheckUtils]: 33: Hoare triple {34386#(and (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {34386#(and (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,664 INFO L290 TraceCheckUtils]: 34: Hoare triple {34386#(and (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume !!(~i~0#1 < 2); {34386#(and (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:10,665 INFO L290 TraceCheckUtils]: 35: Hoare triple {34386#(and (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume !(1 == #valid[~#commands~0.base]); {34250#false} is VALID [2022-02-20 23:38:10,665 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:38:10,665 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:10,739 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 24 treesize of output 20 [2022-02-20 23:38:11,110 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 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 24 treesize of output 20 [2022-02-20 23:38:11,141 INFO L290 TraceCheckUtils]: 35: Hoare triple {34282#(= (select |#valid| |~#commands~0.base|) 1)} assume !(1 == #valid[~#commands~0.base]); {34250#false} is VALID [2022-02-20 23:38:11,141 INFO L290 TraceCheckUtils]: 34: Hoare triple {34282#(= (select |#valid| |~#commands~0.base|) 1)} assume !!(~i~0#1 < 2); {34282#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:11,141 INFO L290 TraceCheckUtils]: 33: Hoare triple {34282#(= (select |#valid| |~#commands~0.base|) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {34282#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:11,142 INFO L272 TraceCheckUtils]: 32: Hoare triple {34282#(= (select |#valid| |~#commands~0.base|) 1)} call parse_input(4, 0); {34282#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:11,142 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {34415#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} {34411#(not (= ~global~0.base |~#commands~0.base|))} #107#return; {34282#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:11,143 INFO L290 TraceCheckUtils]: 30: Hoare triple {34415#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume true; {34415#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:11,143 INFO L290 TraceCheckUtils]: 29: Hoare triple {34415#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {34415#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:11,145 INFO L290 TraceCheckUtils]: 28: Hoare triple {34415#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :end_inline_c2 } true; {34415#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:11,145 INFO L290 TraceCheckUtils]: 27: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {34415#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:11,146 INFO L290 TraceCheckUtils]: 26: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume ~global~0.base < #StackHeapBarrier; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,146 INFO L290 TraceCheckUtils]: 25: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume 0 == ~global~0.offset; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,151 INFO L290 TraceCheckUtils]: 24: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,152 INFO L290 TraceCheckUtils]: 23: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,152 INFO L290 TraceCheckUtils]: 22: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,153 INFO L290 TraceCheckUtils]: 21: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,153 INFO L290 TraceCheckUtils]: 20: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,154 INFO L290 TraceCheckUtils]: 19: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,154 INFO L290 TraceCheckUtils]: 18: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,155 INFO L290 TraceCheckUtils]: 17: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,155 INFO L290 TraceCheckUtils]: 16: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume 1 == #valid[~input#1.base]; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,156 INFO L290 TraceCheckUtils]: 15: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume 1 == #valid[#t~mem3#1.base]; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,157 INFO L290 TraceCheckUtils]: 13: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,157 INFO L290 TraceCheckUtils]: 12: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume !!(~i~0#1 < 2); {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,157 INFO L290 TraceCheckUtils]: 11: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,158 INFO L290 TraceCheckUtils]: 10: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,158 INFO L290 TraceCheckUtils]: 9: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,159 INFO L290 TraceCheckUtils]: 8: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume 1 == #valid[~input#1.base]; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,159 INFO L290 TraceCheckUtils]: 7: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,159 INFO L290 TraceCheckUtils]: 6: Hoare triple {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} assume 1 == #valid[#t~mem3#1.base]; {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,160 INFO L290 TraceCheckUtils]: 5: Hoare triple {34495#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {34428#(or (forall ((v_ArrVal_67 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_67) |~#commands~0.base|) 1)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,161 INFO L290 TraceCheckUtils]: 4: Hoare triple {34495#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} assume !!(~i~0#1 < 2); {34495#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,161 INFO L290 TraceCheckUtils]: 3: Hoare triple {34495#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {34495#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,162 INFO L272 TraceCheckUtils]: 2: Hoare triple {34411#(not (= ~global~0.base |~#commands~0.base|))} call parse_input(3, 0); {34495#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:11,162 INFO L290 TraceCheckUtils]: 1: Hoare triple {34411#(not (= ~global~0.base |~#commands~0.base|))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {34411#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:11,163 INFO L290 TraceCheckUtils]: 0: Hoare triple {34249#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {34411#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:11,163 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 2 proven. 5 refuted. 0 times theorem prover too weak. 5 trivial. 0 not checked. [2022-02-20 23:38:11,164 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1313361112] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:11,164 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:38:11,164 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 5, 5] total 15 [2022-02-20 23:38:11,164 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [157639991] [2022-02-20 23:38:11,164 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:11,164 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 36 [2022-02-20 23:38:11,164 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:11,164 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 17 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:38:11,232 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:38:11,232 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-02-20 23:38:11,233 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:11,233 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-02-20 23:38:11,233 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=71, Invalid=201, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:38:11,233 INFO L87 Difference]: Start difference. First operand 590 states and 791 transitions. Second operand has 17 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:38:12,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:12,198 INFO L93 Difference]: Finished difference Result 659 states and 846 transitions. [2022-02-20 23:38:12,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 20 states. [2022-02-20 23:38:12,199 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 36 [2022-02-20 23:38:12,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:12,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:38:12,200 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 176 transitions. [2022-02-20 23:38:12,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:38:12,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 20 states to 20 states and 176 transitions. [2022-02-20 23:38:12,202 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 20 states and 176 transitions. [2022-02-20 23:38:12,328 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 176 edges. 176 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:12,340 INFO L225 Difference]: With dead ends: 659 [2022-02-20 23:38:12,341 INFO L226 Difference]: Without dead ends: 659 [2022-02-20 23:38:12,341 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 92 GetRequests, 62 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 1 DeprecatedPredicates, 203 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=278, Invalid=592, Unknown=0, NotChecked=0, Total=870 [2022-02-20 23:38:12,343 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 667 mSDsluCounter, 107 mSDsCounter, 0 mSdLazyCounter, 249 mSolverCounterSat, 96 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 667 SdHoareTripleChecker+Valid, 137 SdHoareTripleChecker+Invalid, 361 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 96 IncrementalHoareTripleChecker+Valid, 249 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 16 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:12,343 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [667 Valid, 137 Invalid, 361 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [96 Valid, 249 Invalid, 0 Unknown, 16 Unchecked, 0.3s Time] [2022-02-20 23:38:12,344 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 659 states. [2022-02-20 23:38:12,352 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 659 to 568. [2022-02-20 23:38:12,352 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:12,353 INFO L82 GeneralOperation]: Start isEquivalent. First operand 659 states. Second operand has 568 states, 514 states have (on average 1.3657587548638133) internal successors, (702), 541 states have internal predecessors, (702), 13 states have call successors, (13), 13 states have call predecessors, (13), 26 states have return successors, (40), 13 states have call predecessors, (40), 13 states have call successors, (40) [2022-02-20 23:38:12,354 INFO L74 IsIncluded]: Start isIncluded. First operand 659 states. Second operand has 568 states, 514 states have (on average 1.3657587548638133) internal successors, (702), 541 states have internal predecessors, (702), 13 states have call successors, (13), 13 states have call predecessors, (13), 26 states have return successors, (40), 13 states have call predecessors, (40), 13 states have call successors, (40) [2022-02-20 23:38:12,354 INFO L87 Difference]: Start difference. First operand 659 states. Second operand has 568 states, 514 states have (on average 1.3657587548638133) internal successors, (702), 541 states have internal predecessors, (702), 13 states have call successors, (13), 13 states have call predecessors, (13), 26 states have return successors, (40), 13 states have call predecessors, (40), 13 states have call successors, (40) [2022-02-20 23:38:12,368 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:12,368 INFO L93 Difference]: Finished difference Result 659 states and 846 transitions. [2022-02-20 23:38:12,368 INFO L276 IsEmpty]: Start isEmpty. Operand 659 states and 846 transitions. [2022-02-20 23:38:12,369 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:12,369 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:12,370 INFO L74 IsIncluded]: Start isIncluded. First operand has 568 states, 514 states have (on average 1.3657587548638133) internal successors, (702), 541 states have internal predecessors, (702), 13 states have call successors, (13), 13 states have call predecessors, (13), 26 states have return successors, (40), 13 states have call predecessors, (40), 13 states have call successors, (40) Second operand 659 states. [2022-02-20 23:38:12,370 INFO L87 Difference]: Start difference. First operand has 568 states, 514 states have (on average 1.3657587548638133) internal successors, (702), 541 states have internal predecessors, (702), 13 states have call successors, (13), 13 states have call predecessors, (13), 26 states have return successors, (40), 13 states have call predecessors, (40), 13 states have call successors, (40) Second operand 659 states. [2022-02-20 23:38:12,384 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:12,385 INFO L93 Difference]: Finished difference Result 659 states and 846 transitions. [2022-02-20 23:38:12,385 INFO L276 IsEmpty]: Start isEmpty. Operand 659 states and 846 transitions. [2022-02-20 23:38:12,386 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:12,386 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:12,386 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:12,386 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:12,387 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 568 states, 514 states have (on average 1.3657587548638133) internal successors, (702), 541 states have internal predecessors, (702), 13 states have call successors, (13), 13 states have call predecessors, (13), 26 states have return successors, (40), 13 states have call predecessors, (40), 13 states have call successors, (40) [2022-02-20 23:38:12,397 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 568 states to 568 states and 755 transitions. [2022-02-20 23:38:12,397 INFO L78 Accepts]: Start accepts. Automaton has 568 states and 755 transitions. Word has length 36 [2022-02-20 23:38:12,397 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:12,398 INFO L470 AbstractCegarLoop]: Abstraction has 568 states and 755 transitions. [2022-02-20 23:38:12,398 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 15 states have (on average 5.466666666666667) internal successors, (82), 14 states have internal predecessors, (82), 6 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-02-20 23:38:12,398 INFO L276 IsEmpty]: Start isEmpty. Operand 568 states and 755 transitions. [2022-02-20 23:38:12,398 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 38 [2022-02-20 23:38:12,398 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:12,398 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:12,421 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:38:12,615 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable20 [2022-02-20 23:38:12,615 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:12,616 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:12,616 INFO L85 PathProgramCache]: Analyzing trace with hash 45027747, now seen corresponding path program 1 times [2022-02-20 23:38:12,616 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:12,616 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [215463738] [2022-02-20 23:38:12,616 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:12,616 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:12,641 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:12,735 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:12,761 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:12,906 INFO L290 TraceCheckUtils]: 0: Hoare triple {37113#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,906 INFO L290 TraceCheckUtils]: 1: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume !!(~i~0#1 < 2); {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,907 INFO L290 TraceCheckUtils]: 2: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,907 INFO L290 TraceCheckUtils]: 3: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume 1 == #valid[#t~mem3#1.base]; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,908 INFO L290 TraceCheckUtils]: 4: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,908 INFO L290 TraceCheckUtils]: 5: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume 1 == #valid[~input#1.base]; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,908 INFO L290 TraceCheckUtils]: 6: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,908 INFO L290 TraceCheckUtils]: 7: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,909 INFO L290 TraceCheckUtils]: 8: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {37115#(and (or (= ~state~0 |old(~state~0)|) (not (= (+ (- 1) |parse_input_~i~0#1|) 0))) (< 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,909 INFO L290 TraceCheckUtils]: 9: Hoare triple {37115#(and (or (= ~state~0 |old(~state~0)|) (not (= (+ (- 1) |parse_input_~i~0#1|) 0))) (< 0 |parse_input_~i~0#1|))} assume !!(~i~0#1 < 2); {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,910 INFO L290 TraceCheckUtils]: 10: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,910 INFO L290 TraceCheckUtils]: 11: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume 1 == #valid[#t~mem3#1.base]; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,910 INFO L290 TraceCheckUtils]: 12: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,911 INFO L290 TraceCheckUtils]: 13: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume 1 == #valid[~input#1.base]; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,911 INFO L290 TraceCheckUtils]: 14: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,911 INFO L290 TraceCheckUtils]: 15: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,912 INFO L290 TraceCheckUtils]: 16: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {37117#(and (or (= |parse_input_#t~mem5#1| (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) |parse_input_#t~mem5#1|)) (= (* 9 |parse_input_~i~0#1|) 9) (or (= ~state~0 |old(~state~0)|) (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) |parse_input_#t~mem5#1|))))} is VALID [2022-02-20 23:38:12,913 INFO L290 TraceCheckUtils]: 17: Hoare triple {37117#(and (or (= |parse_input_#t~mem5#1| (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) |parse_input_#t~mem5#1|)) (= (* 9 |parse_input_~i~0#1|) 9) (or (= ~state~0 |old(~state~0)|) (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) |parse_input_#t~mem5#1|))))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {37118#(and (= (* 9 |parse_input_~i~0#1|) 9) (or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256)))))} is VALID [2022-02-20 23:38:12,913 INFO L290 TraceCheckUtils]: 18: Hoare triple {37118#(and (= (* 9 |parse_input_~i~0#1|) 9) (or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256)))))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,913 INFO L290 TraceCheckUtils]: 19: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,914 INFO L290 TraceCheckUtils]: 20: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,914 INFO L290 TraceCheckUtils]: 21: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,915 INFO L290 TraceCheckUtils]: 22: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume 0 == ~global~0.offset; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,915 INFO L290 TraceCheckUtils]: 23: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume ~global~0.base < #StackHeapBarrier; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,915 INFO L290 TraceCheckUtils]: 24: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,916 INFO L290 TraceCheckUtils]: 25: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume { :end_inline_c2 } true; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,916 INFO L290 TraceCheckUtils]: 26: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,916 INFO L290 TraceCheckUtils]: 27: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume true; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,917 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} {37083#(and (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (<= ~state~0 ~unnamed3~0~STATE_1))} #107#return; {37082#false} is VALID [2022-02-20 23:38:12,918 INFO L290 TraceCheckUtils]: 0: Hoare triple {37081#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {37083#(and (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (<= ~state~0 ~unnamed3~0~STATE_1))} is VALID [2022-02-20 23:38:12,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {37083#(and (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (<= ~state~0 ~unnamed3~0~STATE_1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {37083#(and (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (<= ~state~0 ~unnamed3~0~STATE_1))} is VALID [2022-02-20 23:38:12,919 INFO L272 TraceCheckUtils]: 2: Hoare triple {37083#(and (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (<= ~state~0 ~unnamed3~0~STATE_1))} call parse_input(3, 0); {37113#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:12,920 INFO L290 TraceCheckUtils]: 3: Hoare triple {37113#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,920 INFO L290 TraceCheckUtils]: 4: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume !!(~i~0#1 < 2); {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,921 INFO L290 TraceCheckUtils]: 5: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,921 INFO L290 TraceCheckUtils]: 6: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume 1 == #valid[#t~mem3#1.base]; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,921 INFO L290 TraceCheckUtils]: 7: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,922 INFO L290 TraceCheckUtils]: 8: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume 1 == #valid[~input#1.base]; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,922 INFO L290 TraceCheckUtils]: 9: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,922 INFO L290 TraceCheckUtils]: 10: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,923 INFO L290 TraceCheckUtils]: 11: Hoare triple {37114#(and (= ~state~0 |old(~state~0)|) (<= 0 |parse_input_~i~0#1|))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {37115#(and (or (= ~state~0 |old(~state~0)|) (not (= (+ (- 1) |parse_input_~i~0#1|) 0))) (< 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:12,923 INFO L290 TraceCheckUtils]: 12: Hoare triple {37115#(and (or (= ~state~0 |old(~state~0)|) (not (= (+ (- 1) |parse_input_~i~0#1|) 0))) (< 0 |parse_input_~i~0#1|))} assume !!(~i~0#1 < 2); {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,923 INFO L290 TraceCheckUtils]: 13: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,924 INFO L290 TraceCheckUtils]: 14: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume 1 == #valid[#t~mem3#1.base]; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,924 INFO L290 TraceCheckUtils]: 15: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,924 INFO L290 TraceCheckUtils]: 16: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume 1 == #valid[~input#1.base]; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,925 INFO L290 TraceCheckUtils]: 17: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,925 INFO L290 TraceCheckUtils]: 18: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} is VALID [2022-02-20 23:38:12,926 INFO L290 TraceCheckUtils]: 19: Hoare triple {37116#(and (= ~state~0 |old(~state~0)|) (= (* 9 |parse_input_~i~0#1|) 9))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {37117#(and (or (= |parse_input_#t~mem5#1| (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) |parse_input_#t~mem5#1|)) (= (* 9 |parse_input_~i~0#1|) 9) (or (= ~state~0 |old(~state~0)|) (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) |parse_input_#t~mem5#1|))))} is VALID [2022-02-20 23:38:12,926 INFO L290 TraceCheckUtils]: 20: Hoare triple {37117#(and (or (= |parse_input_#t~mem5#1| (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) |parse_input_#t~mem5#1|)) (= (* 9 |parse_input_~i~0#1|) 9) (or (= ~state~0 |old(~state~0)|) (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) |parse_input_#t~mem5#1|))))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {37118#(and (= (* 9 |parse_input_~i~0#1|) 9) (or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256)))))} is VALID [2022-02-20 23:38:12,927 INFO L290 TraceCheckUtils]: 21: Hoare triple {37118#(and (= (* 9 |parse_input_~i~0#1|) 9) (or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256)))))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,927 INFO L290 TraceCheckUtils]: 22: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,927 INFO L290 TraceCheckUtils]: 23: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,928 INFO L290 TraceCheckUtils]: 24: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,928 INFO L290 TraceCheckUtils]: 25: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume 0 == ~global~0.offset; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,928 INFO L290 TraceCheckUtils]: 26: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume ~global~0.base < #StackHeapBarrier; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,929 INFO L290 TraceCheckUtils]: 27: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,929 INFO L290 TraceCheckUtils]: 28: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume { :end_inline_c2 } true; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,930 INFO L290 TraceCheckUtils]: 29: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,930 INFO L290 TraceCheckUtils]: 30: Hoare triple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} assume true; {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} is VALID [2022-02-20 23:38:12,931 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {37119#(or (not (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17)))) (<= ~unnamed3~0~STATE_2 (+ |old(~state~0)| (* (div ~unnamed3~0~STATE_2 256) 256))))} {37083#(and (= (+ ~unnamed3~0~STATE_2 (* (div ~unnamed3~0~STATE_2 256) (- 256))) (select (select |#memory_int| |~#commands~0.base|) (+ |~#commands~0.offset| 17))) (<= ~state~0 ~unnamed3~0~STATE_1))} #107#return; {37082#false} is VALID [2022-02-20 23:38:12,931 INFO L272 TraceCheckUtils]: 32: Hoare triple {37082#false} call parse_input(4, 0); {37082#false} is VALID [2022-02-20 23:38:12,931 INFO L290 TraceCheckUtils]: 33: Hoare triple {37082#false} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {37082#false} is VALID [2022-02-20 23:38:12,931 INFO L290 TraceCheckUtils]: 34: Hoare triple {37082#false} assume !!(~i~0#1 < 2); {37082#false} is VALID [2022-02-20 23:38:12,931 INFO L290 TraceCheckUtils]: 35: Hoare triple {37082#false} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {37082#false} is VALID [2022-02-20 23:38:12,931 INFO L290 TraceCheckUtils]: 36: Hoare triple {37082#false} assume !(1 == #valid[#t~mem3#1.base]); {37082#false} is VALID [2022-02-20 23:38:12,932 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 13 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:12,932 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:12,932 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [215463738] [2022-02-20 23:38:12,932 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [215463738] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:12,932 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [397299610] [2022-02-20 23:38:12,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:12,932 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:12,932 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:12,933 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:38:12,934 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:38:12,988 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:12,989 INFO L263 TraceCheckSpWp]: Trace formula consists of 234 conjuncts, 22 conjunts are in the unsatisfiable core [2022-02-20 23:38:12,996 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:12,997 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:13,433 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 14 [2022-02-20 23:38:13,508 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:38:13,521 INFO L290 TraceCheckUtils]: 0: Hoare triple {37081#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {37123#(and (= ~global~0.base 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:13,524 INFO L290 TraceCheckUtils]: 1: Hoare triple {37123#(and (= ~global~0.base 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {37123#(and (= ~global~0.base 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:13,529 INFO L272 TraceCheckUtils]: 2: Hoare triple {37123#(and (= ~global~0.base 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(3, 0); {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,529 INFO L290 TraceCheckUtils]: 3: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,529 INFO L290 TraceCheckUtils]: 4: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,530 INFO L290 TraceCheckUtils]: 5: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,530 INFO L290 TraceCheckUtils]: 6: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,531 INFO L290 TraceCheckUtils]: 7: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,531 INFO L290 TraceCheckUtils]: 8: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,531 INFO L290 TraceCheckUtils]: 9: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,532 INFO L290 TraceCheckUtils]: 10: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,532 INFO L290 TraceCheckUtils]: 11: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,533 INFO L290 TraceCheckUtils]: 12: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,533 INFO L290 TraceCheckUtils]: 13: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,533 INFO L290 TraceCheckUtils]: 14: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,534 INFO L290 TraceCheckUtils]: 15: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,534 INFO L290 TraceCheckUtils]: 16: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,534 INFO L290 TraceCheckUtils]: 17: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,535 INFO L290 TraceCheckUtils]: 18: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,535 INFO L290 TraceCheckUtils]: 19: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,536 INFO L290 TraceCheckUtils]: 20: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,536 INFO L290 TraceCheckUtils]: 21: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,537 INFO L290 TraceCheckUtils]: 22: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,537 INFO L290 TraceCheckUtils]: 23: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset;assume { :begin_inline_c2 } true;havoc c2_~y~0#1.base, c2_~y~0#1.offset;c2_~y~0#1.base, c2_~y~0#1.offset := 0, 0; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,537 INFO L290 TraceCheckUtils]: 24: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume (c2_~y~0#1.base == 0 && c2_~y~0#1.offset == 0) || (~global~0.base == 0 && ~global~0.offset == 0); {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,538 INFO L290 TraceCheckUtils]: 25: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 0 == ~global~0.offset; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,538 INFO L290 TraceCheckUtils]: 26: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~global~0.base < #StackHeapBarrier; {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:13,539 INFO L290 TraceCheckUtils]: 27: Hoare triple {37130#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {37206#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (exists ((v_ArrVal_74 Int)) (= |#valid| (store |old(#valid)| ~global~0.base v_ArrVal_74))))} is VALID [2022-02-20 23:38:13,539 INFO L290 TraceCheckUtils]: 28: Hoare triple {37206#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (exists ((v_ArrVal_74 Int)) (= |#valid| (store |old(#valid)| ~global~0.base v_ArrVal_74))))} assume { :end_inline_c2 } true; {37206#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (exists ((v_ArrVal_74 Int)) (= |#valid| (store |old(#valid)| ~global~0.base v_ArrVal_74))))} is VALID [2022-02-20 23:38:13,539 INFO L290 TraceCheckUtils]: 29: Hoare triple {37206#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (exists ((v_ArrVal_74 Int)) (= |#valid| (store |old(#valid)| ~global~0.base v_ArrVal_74))))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {37206#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (exists ((v_ArrVal_74 Int)) (= |#valid| (store |old(#valid)| ~global~0.base v_ArrVal_74))))} is VALID [2022-02-20 23:38:13,540 INFO L290 TraceCheckUtils]: 30: Hoare triple {37206#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (exists ((v_ArrVal_74 Int)) (= |#valid| (store |old(#valid)| ~global~0.base v_ArrVal_74))))} assume true; {37206#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (exists ((v_ArrVal_74 Int)) (= |#valid| (store |old(#valid)| ~global~0.base v_ArrVal_74))))} is VALID [2022-02-20 23:38:13,541 INFO L284 TraceCheckUtils]: 31: Hoare quadruple {37206#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (exists ((v_ArrVal_74 Int)) (= |#valid| (store |old(#valid)| ~global~0.base v_ArrVal_74))))} {37123#(and (= ~global~0.base 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} #107#return; {37219#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:13,541 INFO L272 TraceCheckUtils]: 32: Hoare triple {37219#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(4, 0); {37219#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:13,542 INFO L290 TraceCheckUtils]: 33: Hoare triple {37219#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {37226#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:13,542 INFO L290 TraceCheckUtils]: 34: Hoare triple {37226#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !!(~i~0#1 < 2); {37226#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:13,542 INFO L290 TraceCheckUtils]: 35: Hoare triple {37226#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {37233#(and (= (select |#valid| 1) 1) (= |parse_input_#t~mem3#1.base| 1))} is VALID [2022-02-20 23:38:13,543 INFO L290 TraceCheckUtils]: 36: Hoare triple {37233#(and (= (select |#valid| 1) 1) (= |parse_input_#t~mem3#1.base| 1))} assume !(1 == #valid[#t~mem3#1.base]); {37082#false} is VALID [2022-02-20 23:38:13,543 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 0 proven. 7 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:38:13,543 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:13,652 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [397299610] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:13,653 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:13,653 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6] total 15 [2022-02-20 23:38:13,653 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [768615864] [2022-02-20 23:38:13,653 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:13,657 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.875) internal successors, (62), 13 states have internal predecessors, (62), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-02-20 23:38:13,657 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:13,658 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 3.875) internal successors, (62), 13 states have internal predecessors, (62), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:13,704 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:38:13,704 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-02-20 23:38:13,704 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:13,705 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-02-20 23:38:13,705 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=50, Invalid=330, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:38:13,705 INFO L87 Difference]: Start difference. First operand 568 states and 755 transitions. Second operand has 16 states, 16 states have (on average 3.875) internal successors, (62), 13 states have internal predecessors, (62), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:16,051 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:16,051 INFO L93 Difference]: Finished difference Result 491 states and 603 transitions. [2022-02-20 23:38:16,051 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 34 states. [2022-02-20 23:38:16,052 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 3.875) internal successors, (62), 13 states have internal predecessors, (62), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Word has length 37 [2022-02-20 23:38:16,052 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:16,052 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.875) internal successors, (62), 13 states have internal predecessors, (62), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:16,053 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 239 transitions. [2022-02-20 23:38:16,053 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 3.875) internal successors, (62), 13 states have internal predecessors, (62), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:16,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 239 transitions. [2022-02-20 23:38:16,055 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 34 states and 239 transitions. [2022-02-20 23:38:16,259 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 239 edges. 239 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:16,267 INFO L225 Difference]: With dead ends: 491 [2022-02-20 23:38:16,267 INFO L226 Difference]: Without dead ends: 491 [2022-02-20 23:38:16,268 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 39 SyntacticMatches, 0 SemanticMatches, 45 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 414 ImplicationChecksByTransitivity, 0.8s TimeCoverageRelationStatistics Valid=402, Invalid=1760, Unknown=0, NotChecked=0, Total=2162 [2022-02-20 23:38:16,268 INFO L933 BasicCegarLoop]: 50 mSDtfsCounter, 651 mSDsluCounter, 320 mSDsCounter, 0 mSdLazyCounter, 736 mSolverCounterSat, 103 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 651 SdHoareTripleChecker+Valid, 370 SdHoareTripleChecker+Invalid, 957 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 103 IncrementalHoareTripleChecker+Valid, 736 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 118 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:16,268 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [651 Valid, 370 Invalid, 957 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [103 Valid, 736 Invalid, 0 Unknown, 118 Unchecked, 0.7s Time] [2022-02-20 23:38:16,269 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 491 states. [2022-02-20 23:38:16,273 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 491 to 381. [2022-02-20 23:38:16,273 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:16,273 INFO L82 GeneralOperation]: Start isEquivalent. First operand 491 states. Second operand has 381 states, 341 states have (on average 1.3753665689149561) internal successors, (469), 362 states have internal predecessors, (469), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:16,274 INFO L74 IsIncluded]: Start isIncluded. First operand 491 states. Second operand has 381 states, 341 states have (on average 1.3753665689149561) internal successors, (469), 362 states have internal predecessors, (469), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:16,274 INFO L87 Difference]: Start difference. First operand 491 states. Second operand has 381 states, 341 states have (on average 1.3753665689149561) internal successors, (469), 362 states have internal predecessors, (469), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:16,283 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:16,283 INFO L93 Difference]: Finished difference Result 491 states and 603 transitions. [2022-02-20 23:38:16,283 INFO L276 IsEmpty]: Start isEmpty. Operand 491 states and 603 transitions. [2022-02-20 23:38:16,284 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:16,284 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:16,285 INFO L74 IsIncluded]: Start isIncluded. First operand has 381 states, 341 states have (on average 1.3753665689149561) internal successors, (469), 362 states have internal predecessors, (469), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 491 states. [2022-02-20 23:38:16,285 INFO L87 Difference]: Start difference. First operand has 381 states, 341 states have (on average 1.3753665689149561) internal successors, (469), 362 states have internal predecessors, (469), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 491 states. [2022-02-20 23:38:16,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:16,294 INFO L93 Difference]: Finished difference Result 491 states and 603 transitions. [2022-02-20 23:38:16,294 INFO L276 IsEmpty]: Start isEmpty. Operand 491 states and 603 transitions. [2022-02-20 23:38:16,295 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:16,295 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:16,295 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:16,295 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:16,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 381 states, 341 states have (on average 1.3753665689149561) internal successors, (469), 362 states have internal predecessors, (469), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:16,300 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 381 states to 381 states and 501 transitions. [2022-02-20 23:38:16,308 INFO L78 Accepts]: Start accepts. Automaton has 381 states and 501 transitions. Word has length 37 [2022-02-20 23:38:16,308 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:16,308 INFO L470 AbstractCegarLoop]: Abstraction has 381 states and 501 transitions. [2022-02-20 23:38:16,309 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 3.875) internal successors, (62), 13 states have internal predecessors, (62), 4 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-02-20 23:38:16,309 INFO L276 IsEmpty]: Start isEmpty. Operand 381 states and 501 transitions. [2022-02-20 23:38:16,309 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 41 [2022-02-20 23:38:16,309 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:16,309 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:16,331 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (12)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:16,523 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 12 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable21 [2022-02-20 23:38:16,523 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting parse_inputErr19ASSERT_VIOLATIONMEMORY_FREE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:16,524 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:16,524 INFO L85 PathProgramCache]: Analyzing trace with hash 634414932, now seen corresponding path program 1 times [2022-02-20 23:38:16,524 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:16,524 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1564880014] [2022-02-20 23:38:16,524 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:16,524 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:16,538 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:16,555 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:16,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:16,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {39195#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {39172#true} is VALID [2022-02-20 23:38:16,581 INFO L290 TraceCheckUtils]: 1: Hoare triple {39172#true} assume !!(~i~0#1 < 2); {39172#true} is VALID [2022-02-20 23:38:16,581 INFO L290 TraceCheckUtils]: 2: Hoare triple {39172#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {39172#true} is VALID [2022-02-20 23:38:16,581 INFO L290 TraceCheckUtils]: 3: Hoare triple {39172#true} assume 1 == #valid[#t~mem3#1.base]; {39172#true} is VALID [2022-02-20 23:38:16,581 INFO L290 TraceCheckUtils]: 4: Hoare triple {39172#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {39172#true} is VALID [2022-02-20 23:38:16,581 INFO L290 TraceCheckUtils]: 5: Hoare triple {39172#true} assume 1 == #valid[~input#1.base]; {39172#true} is VALID [2022-02-20 23:38:16,582 INFO L290 TraceCheckUtils]: 6: Hoare triple {39172#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {39172#true} is VALID [2022-02-20 23:38:16,582 INFO L290 TraceCheckUtils]: 7: Hoare triple {39172#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {39172#true} is VALID [2022-02-20 23:38:16,582 INFO L290 TraceCheckUtils]: 8: Hoare triple {39172#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {39172#true} is VALID [2022-02-20 23:38:16,582 INFO L290 TraceCheckUtils]: 9: Hoare triple {39172#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {39172#true} is VALID [2022-02-20 23:38:16,582 INFO L290 TraceCheckUtils]: 10: Hoare triple {39172#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {39172#true} is VALID [2022-02-20 23:38:16,582 INFO L290 TraceCheckUtils]: 11: Hoare triple {39172#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {39172#true} is VALID [2022-02-20 23:38:16,583 INFO L290 TraceCheckUtils]: 12: Hoare triple {39172#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,583 INFO L290 TraceCheckUtils]: 13: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,583 INFO L290 TraceCheckUtils]: 14: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,584 INFO L290 TraceCheckUtils]: 15: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,584 INFO L290 TraceCheckUtils]: 16: Hoare triple {39194#(= ~global~0.offset 0)} assume { :end_inline_c1 } true; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,584 INFO L290 TraceCheckUtils]: 17: Hoare triple {39194#(= ~global~0.offset 0)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,585 INFO L290 TraceCheckUtils]: 18: Hoare triple {39194#(= ~global~0.offset 0)} assume true; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,585 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {39194#(= ~global~0.offset 0)} {39172#true} #107#return; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,585 INFO L290 TraceCheckUtils]: 0: Hoare triple {39172#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {39172#true} is VALID [2022-02-20 23:38:16,585 INFO L290 TraceCheckUtils]: 1: Hoare triple {39172#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {39172#true} is VALID [2022-02-20 23:38:16,586 INFO L272 TraceCheckUtils]: 2: Hoare triple {39172#true} call parse_input(3, 0); {39195#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:16,586 INFO L290 TraceCheckUtils]: 3: Hoare triple {39195#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {39172#true} is VALID [2022-02-20 23:38:16,586 INFO L290 TraceCheckUtils]: 4: Hoare triple {39172#true} assume !!(~i~0#1 < 2); {39172#true} is VALID [2022-02-20 23:38:16,587 INFO L290 TraceCheckUtils]: 5: Hoare triple {39172#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {39172#true} is VALID [2022-02-20 23:38:16,587 INFO L290 TraceCheckUtils]: 6: Hoare triple {39172#true} assume 1 == #valid[#t~mem3#1.base]; {39172#true} is VALID [2022-02-20 23:38:16,587 INFO L290 TraceCheckUtils]: 7: Hoare triple {39172#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {39172#true} is VALID [2022-02-20 23:38:16,587 INFO L290 TraceCheckUtils]: 8: Hoare triple {39172#true} assume 1 == #valid[~input#1.base]; {39172#true} is VALID [2022-02-20 23:38:16,587 INFO L290 TraceCheckUtils]: 9: Hoare triple {39172#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {39172#true} is VALID [2022-02-20 23:38:16,587 INFO L290 TraceCheckUtils]: 10: Hoare triple {39172#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {39172#true} is VALID [2022-02-20 23:38:16,588 INFO L290 TraceCheckUtils]: 11: Hoare triple {39172#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {39172#true} is VALID [2022-02-20 23:38:16,588 INFO L290 TraceCheckUtils]: 12: Hoare triple {39172#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {39172#true} is VALID [2022-02-20 23:38:16,588 INFO L290 TraceCheckUtils]: 13: Hoare triple {39172#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {39172#true} is VALID [2022-02-20 23:38:16,588 INFO L290 TraceCheckUtils]: 14: Hoare triple {39172#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {39172#true} is VALID [2022-02-20 23:38:16,588 INFO L290 TraceCheckUtils]: 15: Hoare triple {39172#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,589 INFO L290 TraceCheckUtils]: 16: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,589 INFO L290 TraceCheckUtils]: 17: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,589 INFO L290 TraceCheckUtils]: 18: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,590 INFO L290 TraceCheckUtils]: 19: Hoare triple {39194#(= ~global~0.offset 0)} assume { :end_inline_c1 } true; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,590 INFO L290 TraceCheckUtils]: 20: Hoare triple {39194#(= ~global~0.offset 0)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,590 INFO L290 TraceCheckUtils]: 21: Hoare triple {39194#(= ~global~0.offset 0)} assume true; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,591 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {39194#(= ~global~0.offset 0)} {39172#true} #107#return; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,591 INFO L272 TraceCheckUtils]: 23: Hoare triple {39194#(= ~global~0.offset 0)} call parse_input(4, 0); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,591 INFO L290 TraceCheckUtils]: 24: Hoare triple {39194#(= ~global~0.offset 0)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,592 INFO L290 TraceCheckUtils]: 25: Hoare triple {39194#(= ~global~0.offset 0)} assume !!(~i~0#1 < 2); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,592 INFO L290 TraceCheckUtils]: 26: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,592 INFO L290 TraceCheckUtils]: 27: Hoare triple {39194#(= ~global~0.offset 0)} assume 1 == #valid[#t~mem3#1.base]; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,592 INFO L290 TraceCheckUtils]: 28: Hoare triple {39194#(= ~global~0.offset 0)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,593 INFO L290 TraceCheckUtils]: 29: Hoare triple {39194#(= ~global~0.offset 0)} assume 1 == #valid[~input#1.base]; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,593 INFO L290 TraceCheckUtils]: 30: Hoare triple {39194#(= ~global~0.offset 0)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,593 INFO L290 TraceCheckUtils]: 31: Hoare triple {39194#(= ~global~0.offset 0)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,593 INFO L290 TraceCheckUtils]: 32: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,594 INFO L290 TraceCheckUtils]: 33: Hoare triple {39194#(= ~global~0.offset 0)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,594 INFO L290 TraceCheckUtils]: 34: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,594 INFO L290 TraceCheckUtils]: 35: Hoare triple {39194#(= ~global~0.offset 0)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,594 INFO L290 TraceCheckUtils]: 36: Hoare triple {39194#(= ~global~0.offset 0)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,595 INFO L290 TraceCheckUtils]: 37: Hoare triple {39194#(= ~global~0.offset 0)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,595 INFO L290 TraceCheckUtils]: 38: Hoare triple {39194#(= ~global~0.offset 0)} assume ~global~0.base != 0 || ~global~0.offset != 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,595 INFO L290 TraceCheckUtils]: 39: Hoare triple {39194#(= ~global~0.offset 0)} assume !(0 == ~global~0.offset); {39173#false} is VALID [2022-02-20 23:38:16,595 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 12 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:16,596 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:16,596 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1564880014] [2022-02-20 23:38:16,596 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1564880014] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:16,596 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [104925568] [2022-02-20 23:38:16,596 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:16,596 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:16,596 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:16,600 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:38:16,637 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:38:16,664 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:16,665 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:38:16,672 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:16,673 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:16,776 INFO L290 TraceCheckUtils]: 0: Hoare triple {39172#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {39172#true} is VALID [2022-02-20 23:38:16,776 INFO L290 TraceCheckUtils]: 1: Hoare triple {39172#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {39172#true} is VALID [2022-02-20 23:38:16,776 INFO L272 TraceCheckUtils]: 2: Hoare triple {39172#true} call parse_input(3, 0); {39172#true} is VALID [2022-02-20 23:38:16,776 INFO L290 TraceCheckUtils]: 3: Hoare triple {39172#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {39172#true} is VALID [2022-02-20 23:38:16,776 INFO L290 TraceCheckUtils]: 4: Hoare triple {39172#true} assume !!(~i~0#1 < 2); {39172#true} is VALID [2022-02-20 23:38:16,776 INFO L290 TraceCheckUtils]: 5: Hoare triple {39172#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {39172#true} is VALID [2022-02-20 23:38:16,776 INFO L290 TraceCheckUtils]: 6: Hoare triple {39172#true} assume 1 == #valid[#t~mem3#1.base]; {39172#true} is VALID [2022-02-20 23:38:16,776 INFO L290 TraceCheckUtils]: 7: Hoare triple {39172#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {39172#true} is VALID [2022-02-20 23:38:16,776 INFO L290 TraceCheckUtils]: 8: Hoare triple {39172#true} assume 1 == #valid[~input#1.base]; {39172#true} is VALID [2022-02-20 23:38:16,777 INFO L290 TraceCheckUtils]: 9: Hoare triple {39172#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {39172#true} is VALID [2022-02-20 23:38:16,777 INFO L290 TraceCheckUtils]: 10: Hoare triple {39172#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {39172#true} is VALID [2022-02-20 23:38:16,777 INFO L290 TraceCheckUtils]: 11: Hoare triple {39172#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {39172#true} is VALID [2022-02-20 23:38:16,777 INFO L290 TraceCheckUtils]: 12: Hoare triple {39172#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {39172#true} is VALID [2022-02-20 23:38:16,777 INFO L290 TraceCheckUtils]: 13: Hoare triple {39172#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {39172#true} is VALID [2022-02-20 23:38:16,777 INFO L290 TraceCheckUtils]: 14: Hoare triple {39172#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {39172#true} is VALID [2022-02-20 23:38:16,777 INFO L290 TraceCheckUtils]: 15: Hoare triple {39172#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,778 INFO L290 TraceCheckUtils]: 16: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,778 INFO L290 TraceCheckUtils]: 17: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,778 INFO L290 TraceCheckUtils]: 18: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,779 INFO L290 TraceCheckUtils]: 19: Hoare triple {39194#(= ~global~0.offset 0)} assume { :end_inline_c1 } true; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,779 INFO L290 TraceCheckUtils]: 20: Hoare triple {39194#(= ~global~0.offset 0)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,779 INFO L290 TraceCheckUtils]: 21: Hoare triple {39194#(= ~global~0.offset 0)} assume true; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,780 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {39194#(= ~global~0.offset 0)} {39172#true} #107#return; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,780 INFO L272 TraceCheckUtils]: 23: Hoare triple {39194#(= ~global~0.offset 0)} call parse_input(4, 0); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,780 INFO L290 TraceCheckUtils]: 24: Hoare triple {39194#(= ~global~0.offset 0)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,780 INFO L290 TraceCheckUtils]: 25: Hoare triple {39194#(= ~global~0.offset 0)} assume !!(~i~0#1 < 2); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,781 INFO L290 TraceCheckUtils]: 26: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,781 INFO L290 TraceCheckUtils]: 27: Hoare triple {39194#(= ~global~0.offset 0)} assume 1 == #valid[#t~mem3#1.base]; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,781 INFO L290 TraceCheckUtils]: 28: Hoare triple {39194#(= ~global~0.offset 0)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,782 INFO L290 TraceCheckUtils]: 29: Hoare triple {39194#(= ~global~0.offset 0)} assume 1 == #valid[~input#1.base]; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,782 INFO L290 TraceCheckUtils]: 30: Hoare triple {39194#(= ~global~0.offset 0)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,799 INFO L290 TraceCheckUtils]: 31: Hoare triple {39194#(= ~global~0.offset 0)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,800 INFO L290 TraceCheckUtils]: 32: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,800 INFO L290 TraceCheckUtils]: 33: Hoare triple {39194#(= ~global~0.offset 0)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,800 INFO L290 TraceCheckUtils]: 34: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,800 INFO L290 TraceCheckUtils]: 35: Hoare triple {39194#(= ~global~0.offset 0)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,801 INFO L290 TraceCheckUtils]: 36: Hoare triple {39194#(= ~global~0.offset 0)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,801 INFO L290 TraceCheckUtils]: 37: Hoare triple {39194#(= ~global~0.offset 0)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,801 INFO L290 TraceCheckUtils]: 38: Hoare triple {39194#(= ~global~0.offset 0)} assume ~global~0.base != 0 || ~global~0.offset != 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,801 INFO L290 TraceCheckUtils]: 39: Hoare triple {39194#(= ~global~0.offset 0)} assume !(0 == ~global~0.offset); {39173#false} is VALID [2022-02-20 23:38:16,802 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:16,802 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:16,899 INFO L290 TraceCheckUtils]: 39: Hoare triple {39194#(= ~global~0.offset 0)} assume !(0 == ~global~0.offset); {39173#false} is VALID [2022-02-20 23:38:16,900 INFO L290 TraceCheckUtils]: 38: Hoare triple {39194#(= ~global~0.offset 0)} assume ~global~0.base != 0 || ~global~0.offset != 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,900 INFO L290 TraceCheckUtils]: 37: Hoare triple {39194#(= ~global~0.offset 0)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,900 INFO L290 TraceCheckUtils]: 36: Hoare triple {39194#(= ~global~0.offset 0)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,901 INFO L290 TraceCheckUtils]: 35: Hoare triple {39194#(= ~global~0.offset 0)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,901 INFO L290 TraceCheckUtils]: 34: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,901 INFO L290 TraceCheckUtils]: 33: Hoare triple {39194#(= ~global~0.offset 0)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,901 INFO L290 TraceCheckUtils]: 32: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,902 INFO L290 TraceCheckUtils]: 31: Hoare triple {39194#(= ~global~0.offset 0)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,902 INFO L290 TraceCheckUtils]: 30: Hoare triple {39194#(= ~global~0.offset 0)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,902 INFO L290 TraceCheckUtils]: 29: Hoare triple {39194#(= ~global~0.offset 0)} assume 1 == #valid[~input#1.base]; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,902 INFO L290 TraceCheckUtils]: 28: Hoare triple {39194#(= ~global~0.offset 0)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,903 INFO L290 TraceCheckUtils]: 27: Hoare triple {39194#(= ~global~0.offset 0)} assume 1 == #valid[#t~mem3#1.base]; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,903 INFO L290 TraceCheckUtils]: 26: Hoare triple {39194#(= ~global~0.offset 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,903 INFO L290 TraceCheckUtils]: 25: Hoare triple {39194#(= ~global~0.offset 0)} assume !!(~i~0#1 < 2); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,903 INFO L290 TraceCheckUtils]: 24: Hoare triple {39194#(= ~global~0.offset 0)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,904 INFO L272 TraceCheckUtils]: 23: Hoare triple {39194#(= ~global~0.offset 0)} call parse_input(4, 0); {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,904 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {39194#(= ~global~0.offset 0)} {39172#true} #107#return; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,904 INFO L290 TraceCheckUtils]: 21: Hoare triple {39194#(= ~global~0.offset 0)} assume true; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,905 INFO L290 TraceCheckUtils]: 20: Hoare triple {39194#(= ~global~0.offset 0)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,905 INFO L290 TraceCheckUtils]: 19: Hoare triple {39194#(= ~global~0.offset 0)} assume { :end_inline_c1 } true; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,905 INFO L290 TraceCheckUtils]: 18: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {39194#(= ~global~0.offset 0)} is VALID [2022-02-20 23:38:16,906 INFO L290 TraceCheckUtils]: 17: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,906 INFO L290 TraceCheckUtils]: 16: Hoare triple {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,906 INFO L290 TraceCheckUtils]: 15: Hoare triple {39172#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {39196#(and (<= 0 |parse_input_c1_~x~0#1.offset|) (<= |parse_input_c1_~x~0#1.offset| 0))} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 14: Hoare triple {39172#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 13: Hoare triple {39172#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 12: Hoare triple {39172#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 11: Hoare triple {39172#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 10: Hoare triple {39172#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 9: Hoare triple {39172#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 8: Hoare triple {39172#true} assume 1 == #valid[~input#1.base]; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 7: Hoare triple {39172#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 6: Hoare triple {39172#true} assume 1 == #valid[#t~mem3#1.base]; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 5: Hoare triple {39172#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 4: Hoare triple {39172#true} assume !!(~i~0#1 < 2); {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 3: Hoare triple {39172#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L272 TraceCheckUtils]: 2: Hoare triple {39172#true} call parse_input(3, 0); {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 1: Hoare triple {39172#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L290 TraceCheckUtils]: 0: Hoare triple {39172#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {39172#true} is VALID [2022-02-20 23:38:16,907 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:16,908 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [104925568] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:16,908 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:38:16,908 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 3, 3] total 4 [2022-02-20 23:38:16,908 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1214531394] [2022-02-20 23:38:16,908 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:16,908 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 40 [2022-02-20 23:38:16,908 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:16,908 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:16,944 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:38:16,944 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:38:16,944 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:16,944 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:38:16,944 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:38:16,944 INFO L87 Difference]: Start difference. First operand 381 states and 501 transitions. Second operand has 5 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:17,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:17,110 INFO L93 Difference]: Finished difference Result 395 states and 510 transitions. [2022-02-20 23:38:17,110 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:38:17,110 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 40 [2022-02-20 23:38:17,111 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:17,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:17,111 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-02-20 23:38:17,111 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:17,112 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 65 transitions. [2022-02-20 23:38:17,112 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 65 transitions. [2022-02-20 23:38:17,155 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:17,160 INFO L225 Difference]: With dead ends: 395 [2022-02-20 23:38:17,161 INFO L226 Difference]: Without dead ends: 395 [2022-02-20 23:38:17,161 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 88 GetRequests, 79 SyntacticMatches, 4 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:17,161 INFO L933 BasicCegarLoop]: 27 mSDtfsCounter, 72 mSDsluCounter, 26 mSDsCounter, 0 mSdLazyCounter, 78 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 72 SdHoareTripleChecker+Valid, 53 SdHoareTripleChecker+Invalid, 88 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 78 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:17,161 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [72 Valid, 53 Invalid, 88 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 78 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:38:17,162 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 395 states. [2022-02-20 23:38:17,165 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 395 to 378. [2022-02-20 23:38:17,165 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:17,166 INFO L82 GeneralOperation]: Start isEquivalent. First operand 395 states. Second operand has 378 states, 340 states have (on average 1.3558823529411765) internal successors, (461), 359 states have internal predecessors, (461), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:17,166 INFO L74 IsIncluded]: Start isIncluded. First operand 395 states. Second operand has 378 states, 340 states have (on average 1.3558823529411765) internal successors, (461), 359 states have internal predecessors, (461), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:17,166 INFO L87 Difference]: Start difference. First operand 395 states. Second operand has 378 states, 340 states have (on average 1.3558823529411765) internal successors, (461), 359 states have internal predecessors, (461), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:17,172 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:17,172 INFO L93 Difference]: Finished difference Result 395 states and 510 transitions. [2022-02-20 23:38:17,172 INFO L276 IsEmpty]: Start isEmpty. Operand 395 states and 510 transitions. [2022-02-20 23:38:17,173 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:17,173 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:17,173 INFO L74 IsIncluded]: Start isIncluded. First operand has 378 states, 340 states have (on average 1.3558823529411765) internal successors, (461), 359 states have internal predecessors, (461), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 395 states. [2022-02-20 23:38:17,173 INFO L87 Difference]: Start difference. First operand has 378 states, 340 states have (on average 1.3558823529411765) internal successors, (461), 359 states have internal predecessors, (461), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 395 states. [2022-02-20 23:38:17,180 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:17,180 INFO L93 Difference]: Finished difference Result 395 states and 510 transitions. [2022-02-20 23:38:17,180 INFO L276 IsEmpty]: Start isEmpty. Operand 395 states and 510 transitions. [2022-02-20 23:38:17,181 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:17,181 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:17,181 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:17,181 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:17,181 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 378 states, 340 states have (on average 1.3558823529411765) internal successors, (461), 359 states have internal predecessors, (461), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:17,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 378 states to 378 states and 493 transitions. [2022-02-20 23:38:17,186 INFO L78 Accepts]: Start accepts. Automaton has 378 states and 493 transitions. Word has length 40 [2022-02-20 23:38:17,186 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:17,186 INFO L470 AbstractCegarLoop]: Abstraction has 378 states and 493 transitions. [2022-02-20 23:38:17,186 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 9.5) internal successors, (38), 4 states have internal predecessors, (38), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:17,187 INFO L276 IsEmpty]: Start isEmpty. Operand 378 states and 493 transitions. [2022-02-20 23:38:17,187 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 42 [2022-02-20 23:38:17,187 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:17,187 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:17,204 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (13)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:17,387 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable22 [2022-02-20 23:38:17,388 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting parse_inputErr20ASSERT_VIOLATIONMEMORY_FREE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:17,388 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:17,388 INFO L85 PathProgramCache]: Analyzing trace with hash -1807973484, now seen corresponding path program 1 times [2022-02-20 23:38:17,388 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:17,388 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [424881138] [2022-02-20 23:38:17,388 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:17,388 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:17,410 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:17,430 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:17,435 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:17,454 INFO L290 TraceCheckUtils]: 0: Hoare triple {41024#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {41001#true} is VALID [2022-02-20 23:38:17,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {41001#true} assume !!(~i~0#1 < 2); {41001#true} is VALID [2022-02-20 23:38:17,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {41001#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {41001#true} is VALID [2022-02-20 23:38:17,454 INFO L290 TraceCheckUtils]: 3: Hoare triple {41001#true} assume 1 == #valid[#t~mem3#1.base]; {41001#true} is VALID [2022-02-20 23:38:17,454 INFO L290 TraceCheckUtils]: 4: Hoare triple {41001#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {41001#true} is VALID [2022-02-20 23:38:17,454 INFO L290 TraceCheckUtils]: 5: Hoare triple {41001#true} assume 1 == #valid[~input#1.base]; {41001#true} is VALID [2022-02-20 23:38:17,454 INFO L290 TraceCheckUtils]: 6: Hoare triple {41001#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {41001#true} is VALID [2022-02-20 23:38:17,454 INFO L290 TraceCheckUtils]: 7: Hoare triple {41001#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {41001#true} is VALID [2022-02-20 23:38:17,455 INFO L290 TraceCheckUtils]: 8: Hoare triple {41001#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {41001#true} is VALID [2022-02-20 23:38:17,455 INFO L290 TraceCheckUtils]: 9: Hoare triple {41001#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {41001#true} is VALID [2022-02-20 23:38:17,455 INFO L290 TraceCheckUtils]: 10: Hoare triple {41001#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {41001#true} is VALID [2022-02-20 23:38:17,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {41001#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {41001#true} is VALID [2022-02-20 23:38:17,455 INFO L290 TraceCheckUtils]: 12: Hoare triple {41001#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,455 INFO L290 TraceCheckUtils]: 13: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,456 INFO L290 TraceCheckUtils]: 15: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,456 INFO L290 TraceCheckUtils]: 16: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_c1 } true; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,457 INFO L290 TraceCheckUtils]: 17: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,457 INFO L290 TraceCheckUtils]: 18: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume true; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,457 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} {41001#true} #107#return; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {41001#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {41001#true} is VALID [2022-02-20 23:38:17,458 INFO L290 TraceCheckUtils]: 1: Hoare triple {41001#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {41001#true} is VALID [2022-02-20 23:38:17,458 INFO L272 TraceCheckUtils]: 2: Hoare triple {41001#true} call parse_input(3, 0); {41024#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:17,458 INFO L290 TraceCheckUtils]: 3: Hoare triple {41024#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {41001#true} is VALID [2022-02-20 23:38:17,458 INFO L290 TraceCheckUtils]: 4: Hoare triple {41001#true} assume !!(~i~0#1 < 2); {41001#true} is VALID [2022-02-20 23:38:17,458 INFO L290 TraceCheckUtils]: 5: Hoare triple {41001#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {41001#true} is VALID [2022-02-20 23:38:17,458 INFO L290 TraceCheckUtils]: 6: Hoare triple {41001#true} assume 1 == #valid[#t~mem3#1.base]; {41001#true} is VALID [2022-02-20 23:38:17,458 INFO L290 TraceCheckUtils]: 7: Hoare triple {41001#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {41001#true} is VALID [2022-02-20 23:38:17,458 INFO L290 TraceCheckUtils]: 8: Hoare triple {41001#true} assume 1 == #valid[~input#1.base]; {41001#true} is VALID [2022-02-20 23:38:17,459 INFO L290 TraceCheckUtils]: 9: Hoare triple {41001#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {41001#true} is VALID [2022-02-20 23:38:17,459 INFO L290 TraceCheckUtils]: 10: Hoare triple {41001#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {41001#true} is VALID [2022-02-20 23:38:17,459 INFO L290 TraceCheckUtils]: 11: Hoare triple {41001#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {41001#true} is VALID [2022-02-20 23:38:17,459 INFO L290 TraceCheckUtils]: 12: Hoare triple {41001#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {41001#true} is VALID [2022-02-20 23:38:17,459 INFO L290 TraceCheckUtils]: 13: Hoare triple {41001#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {41001#true} is VALID [2022-02-20 23:38:17,459 INFO L290 TraceCheckUtils]: 14: Hoare triple {41001#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {41001#true} is VALID [2022-02-20 23:38:17,459 INFO L290 TraceCheckUtils]: 15: Hoare triple {41001#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,460 INFO L290 TraceCheckUtils]: 16: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,460 INFO L290 TraceCheckUtils]: 17: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,460 INFO L290 TraceCheckUtils]: 18: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,460 INFO L290 TraceCheckUtils]: 19: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_c1 } true; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,461 INFO L290 TraceCheckUtils]: 20: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,461 INFO L290 TraceCheckUtils]: 21: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume true; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,461 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} {41001#true} #107#return; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,462 INFO L272 TraceCheckUtils]: 23: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} call parse_input(4, 0); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,462 INFO L290 TraceCheckUtils]: 24: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,462 INFO L290 TraceCheckUtils]: 25: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !!(~i~0#1 < 2); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,462 INFO L290 TraceCheckUtils]: 26: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,463 INFO L290 TraceCheckUtils]: 27: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 1 == #valid[#t~mem3#1.base]; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,463 INFO L290 TraceCheckUtils]: 28: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,463 INFO L290 TraceCheckUtils]: 29: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 1 == #valid[~input#1.base]; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,463 INFO L290 TraceCheckUtils]: 30: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,464 INFO L290 TraceCheckUtils]: 31: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,464 INFO L290 TraceCheckUtils]: 32: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,464 INFO L290 TraceCheckUtils]: 33: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,464 INFO L290 TraceCheckUtils]: 34: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,465 INFO L290 TraceCheckUtils]: 35: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,465 INFO L290 TraceCheckUtils]: 36: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,465 INFO L290 TraceCheckUtils]: 37: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,465 INFO L290 TraceCheckUtils]: 38: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~global~0.base != 0 || ~global~0.offset != 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,466 INFO L290 TraceCheckUtils]: 39: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 0 == ~global~0.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,466 INFO L290 TraceCheckUtils]: 40: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(~global~0.base < #StackHeapBarrier); {41002#false} is VALID [2022-02-20 23:38:17,466 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 12 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:17,467 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:17,467 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [424881138] [2022-02-20 23:38:17,467 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [424881138] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:17,467 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1687879881] [2022-02-20 23:38:17,467 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:17,467 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:17,467 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:17,468 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:38:17,486 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:38:17,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:17,533 INFO L263 TraceCheckSpWp]: Trace formula consists of 268 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:38:17,541 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:17,542 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:17,675 INFO L290 TraceCheckUtils]: 0: Hoare triple {41001#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {41001#true} is VALID [2022-02-20 23:38:17,675 INFO L290 TraceCheckUtils]: 1: Hoare triple {41001#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {41001#true} is VALID [2022-02-20 23:38:17,675 INFO L272 TraceCheckUtils]: 2: Hoare triple {41001#true} call parse_input(3, 0); {41001#true} is VALID [2022-02-20 23:38:17,675 INFO L290 TraceCheckUtils]: 3: Hoare triple {41001#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {41001#true} is VALID [2022-02-20 23:38:17,675 INFO L290 TraceCheckUtils]: 4: Hoare triple {41001#true} assume !!(~i~0#1 < 2); {41001#true} is VALID [2022-02-20 23:38:17,675 INFO L290 TraceCheckUtils]: 5: Hoare triple {41001#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {41001#true} is VALID [2022-02-20 23:38:17,675 INFO L290 TraceCheckUtils]: 6: Hoare triple {41001#true} assume 1 == #valid[#t~mem3#1.base]; {41001#true} is VALID [2022-02-20 23:38:17,675 INFO L290 TraceCheckUtils]: 7: Hoare triple {41001#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {41001#true} is VALID [2022-02-20 23:38:17,676 INFO L290 TraceCheckUtils]: 8: Hoare triple {41001#true} assume 1 == #valid[~input#1.base]; {41001#true} is VALID [2022-02-20 23:38:17,676 INFO L290 TraceCheckUtils]: 9: Hoare triple {41001#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {41001#true} is VALID [2022-02-20 23:38:17,676 INFO L290 TraceCheckUtils]: 10: Hoare triple {41001#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {41001#true} is VALID [2022-02-20 23:38:17,676 INFO L290 TraceCheckUtils]: 11: Hoare triple {41001#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {41001#true} is VALID [2022-02-20 23:38:17,676 INFO L290 TraceCheckUtils]: 12: Hoare triple {41001#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {41001#true} is VALID [2022-02-20 23:38:17,676 INFO L290 TraceCheckUtils]: 13: Hoare triple {41001#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {41001#true} is VALID [2022-02-20 23:38:17,676 INFO L290 TraceCheckUtils]: 14: Hoare triple {41001#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {41001#true} is VALID [2022-02-20 23:38:17,676 INFO L290 TraceCheckUtils]: 15: Hoare triple {41001#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,677 INFO L290 TraceCheckUtils]: 16: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,677 INFO L290 TraceCheckUtils]: 17: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,679 INFO L290 TraceCheckUtils]: 18: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,680 INFO L290 TraceCheckUtils]: 19: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_c1 } true; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,680 INFO L290 TraceCheckUtils]: 20: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,680 INFO L290 TraceCheckUtils]: 21: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume true; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,681 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} {41001#true} #107#return; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,681 INFO L272 TraceCheckUtils]: 23: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} call parse_input(4, 0); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,681 INFO L290 TraceCheckUtils]: 24: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,682 INFO L290 TraceCheckUtils]: 25: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !!(~i~0#1 < 2); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,682 INFO L290 TraceCheckUtils]: 26: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,682 INFO L290 TraceCheckUtils]: 27: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 1 == #valid[#t~mem3#1.base]; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,683 INFO L290 TraceCheckUtils]: 28: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,683 INFO L290 TraceCheckUtils]: 29: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 1 == #valid[~input#1.base]; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,683 INFO L290 TraceCheckUtils]: 30: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,684 INFO L290 TraceCheckUtils]: 31: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,684 INFO L290 TraceCheckUtils]: 32: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,684 INFO L290 TraceCheckUtils]: 33: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,685 INFO L290 TraceCheckUtils]: 34: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,685 INFO L290 TraceCheckUtils]: 35: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,685 INFO L290 TraceCheckUtils]: 36: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,686 INFO L290 TraceCheckUtils]: 37: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,686 INFO L290 TraceCheckUtils]: 38: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~global~0.base != 0 || ~global~0.offset != 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,686 INFO L290 TraceCheckUtils]: 39: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 0 == ~global~0.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,687 INFO L290 TraceCheckUtils]: 40: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(~global~0.base < #StackHeapBarrier); {41002#false} is VALID [2022-02-20 23:38:17,687 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:17,687 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:17,877 INFO L290 TraceCheckUtils]: 40: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(~global~0.base < #StackHeapBarrier); {41002#false} is VALID [2022-02-20 23:38:17,878 INFO L290 TraceCheckUtils]: 39: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 0 == ~global~0.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,878 INFO L290 TraceCheckUtils]: 38: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~global~0.base != 0 || ~global~0.offset != 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,878 INFO L290 TraceCheckUtils]: 37: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,879 INFO L290 TraceCheckUtils]: 36: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,879 INFO L290 TraceCheckUtils]: 35: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,879 INFO L290 TraceCheckUtils]: 34: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,880 INFO L290 TraceCheckUtils]: 33: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,880 INFO L290 TraceCheckUtils]: 32: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,880 INFO L290 TraceCheckUtils]: 31: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,880 INFO L290 TraceCheckUtils]: 30: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,881 INFO L290 TraceCheckUtils]: 29: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 1 == #valid[~input#1.base]; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,881 INFO L290 TraceCheckUtils]: 28: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,881 INFO L290 TraceCheckUtils]: 27: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume 1 == #valid[#t~mem3#1.base]; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,882 INFO L290 TraceCheckUtils]: 26: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,882 INFO L290 TraceCheckUtils]: 25: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume !!(~i~0#1 < 2); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,882 INFO L290 TraceCheckUtils]: 24: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,883 INFO L272 TraceCheckUtils]: 23: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} call parse_input(4, 0); {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,883 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} {41001#true} #107#return; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume true; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,884 INFO L290 TraceCheckUtils]: 19: Hoare triple {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} assume { :end_inline_c1 } true; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,885 INFO L290 TraceCheckUtils]: 18: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {41023#(<= (+ ~global~0.base 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,885 INFO L290 TraceCheckUtils]: 17: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,885 INFO L290 TraceCheckUtils]: 16: Hoare triple {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,891 INFO L290 TraceCheckUtils]: 15: Hoare triple {41001#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {41025#(<= (+ |parse_input_c1_~x~0#1.base| 1) |#StackHeapBarrier|)} is VALID [2022-02-20 23:38:17,891 INFO L290 TraceCheckUtils]: 14: Hoare triple {41001#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {41001#true} is VALID [2022-02-20 23:38:17,891 INFO L290 TraceCheckUtils]: 13: Hoare triple {41001#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {41001#true} is VALID [2022-02-20 23:38:17,891 INFO L290 TraceCheckUtils]: 12: Hoare triple {41001#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {41001#true} is VALID [2022-02-20 23:38:17,891 INFO L290 TraceCheckUtils]: 11: Hoare triple {41001#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 10: Hoare triple {41001#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 9: Hoare triple {41001#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 8: Hoare triple {41001#true} assume 1 == #valid[~input#1.base]; {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 7: Hoare triple {41001#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 6: Hoare triple {41001#true} assume 1 == #valid[#t~mem3#1.base]; {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 5: Hoare triple {41001#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 4: Hoare triple {41001#true} assume !!(~i~0#1 < 2); {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 3: Hoare triple {41001#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L272 TraceCheckUtils]: 2: Hoare triple {41001#true} call parse_input(3, 0); {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 1: Hoare triple {41001#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L290 TraceCheckUtils]: 0: Hoare triple {41001#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {41001#true} is VALID [2022-02-20 23:38:17,892 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:17,892 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1687879881] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:17,893 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:38:17,893 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 3, 3] total 4 [2022-02-20 23:38:17,893 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2037320357] [2022-02-20 23:38:17,893 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:17,894 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 41 [2022-02-20 23:38:17,894 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:17,894 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:17,925 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:17,925 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:38:17,925 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:17,925 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:38:17,925 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=7, Invalid=13, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:38:17,926 INFO L87 Difference]: Start difference. First operand 378 states and 493 transitions. Second operand has 5 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:18,099 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,100 INFO L93 Difference]: Finished difference Result 392 states and 501 transitions. [2022-02-20 23:38:18,100 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:38:18,100 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 41 [2022-02-20 23:38:18,100 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:18,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:18,100 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-02-20 23:38:18,100 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:18,101 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 63 transitions. [2022-02-20 23:38:18,101 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 63 transitions. [2022-02-20 23:38:18,146 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 63 edges. 63 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:18,152 INFO L225 Difference]: With dead ends: 392 [2022-02-20 23:38:18,152 INFO L226 Difference]: Without dead ends: 392 [2022-02-20 23:38:18,153 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 90 GetRequests, 83 SyntacticMatches, 2 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:18,153 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 67 mSDsluCounter, 19 mSDsCounter, 0 mSdLazyCounter, 84 mSolverCounterSat, 10 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 94 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 10 IncrementalHoareTripleChecker+Valid, 84 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:18,153 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [67 Valid, 43 Invalid, 94 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [10 Valid, 84 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:38:18,153 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 392 states. [2022-02-20 23:38:18,157 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 392 to 376. [2022-02-20 23:38:18,157 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:18,157 INFO L82 GeneralOperation]: Start isEquivalent. First operand 392 states. Second operand has 376 states, 340 states have (on average 1.3323529411764705) internal successors, (453), 357 states have internal predecessors, (453), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:18,158 INFO L74 IsIncluded]: Start isIncluded. First operand 392 states. Second operand has 376 states, 340 states have (on average 1.3323529411764705) internal successors, (453), 357 states have internal predecessors, (453), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:18,158 INFO L87 Difference]: Start difference. First operand 392 states. Second operand has 376 states, 340 states have (on average 1.3323529411764705) internal successors, (453), 357 states have internal predecessors, (453), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:18,164 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,164 INFO L93 Difference]: Finished difference Result 392 states and 501 transitions. [2022-02-20 23:38:18,165 INFO L276 IsEmpty]: Start isEmpty. Operand 392 states and 501 transitions. [2022-02-20 23:38:18,165 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:18,165 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:18,166 INFO L74 IsIncluded]: Start isIncluded. First operand has 376 states, 340 states have (on average 1.3323529411764705) internal successors, (453), 357 states have internal predecessors, (453), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 392 states. [2022-02-20 23:38:18,166 INFO L87 Difference]: Start difference. First operand has 376 states, 340 states have (on average 1.3323529411764705) internal successors, (453), 357 states have internal predecessors, (453), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 392 states. [2022-02-20 23:38:18,176 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:18,176 INFO L93 Difference]: Finished difference Result 392 states and 501 transitions. [2022-02-20 23:38:18,177 INFO L276 IsEmpty]: Start isEmpty. Operand 392 states and 501 transitions. [2022-02-20 23:38:18,177 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:18,177 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:18,177 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:18,177 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:18,178 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 376 states, 340 states have (on average 1.3323529411764705) internal successors, (453), 357 states have internal predecessors, (453), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:18,183 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 376 states to 376 states and 485 transitions. [2022-02-20 23:38:18,183 INFO L78 Accepts]: Start accepts. Automaton has 376 states and 485 transitions. Word has length 41 [2022-02-20 23:38:18,183 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:18,183 INFO L470 AbstractCegarLoop]: Abstraction has 376 states and 485 transitions. [2022-02-20 23:38:18,184 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 9.75) internal successors, (39), 4 states have internal predecessors, (39), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:18,184 INFO L276 IsEmpty]: Start isEmpty. Operand 376 states and 485 transitions. [2022-02-20 23:38:18,184 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-02-20 23:38:18,184 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:18,184 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:18,203 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:38:18,399 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 14 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable23 [2022-02-20 23:38:18,399 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting parse_inputErr21ASSERT_VIOLATIONMEMORY_FREE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:18,400 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:18,400 INFO L85 PathProgramCache]: Analyzing trace with hash -212603050, now seen corresponding path program 1 times [2022-02-20 23:38:18,400 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:18,400 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [130294363] [2022-02-20 23:38:18,400 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:18,400 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:18,422 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:18,449 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:18,455 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:18,465 INFO L290 TraceCheckUtils]: 0: Hoare triple {42848#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {42825#true} is VALID [2022-02-20 23:38:18,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {42825#true} assume !!(~i~0#1 < 2); {42825#true} is VALID [2022-02-20 23:38:18,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {42825#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {42825#true} is VALID [2022-02-20 23:38:18,466 INFO L290 TraceCheckUtils]: 3: Hoare triple {42825#true} assume 1 == #valid[#t~mem3#1.base]; {42825#true} is VALID [2022-02-20 23:38:18,466 INFO L290 TraceCheckUtils]: 4: Hoare triple {42825#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {42825#true} is VALID [2022-02-20 23:38:18,466 INFO L290 TraceCheckUtils]: 5: Hoare triple {42825#true} assume 1 == #valid[~input#1.base]; {42825#true} is VALID [2022-02-20 23:38:18,466 INFO L290 TraceCheckUtils]: 6: Hoare triple {42825#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {42825#true} is VALID [2022-02-20 23:38:18,466 INFO L290 TraceCheckUtils]: 7: Hoare triple {42825#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {42825#true} is VALID [2022-02-20 23:38:18,467 INFO L290 TraceCheckUtils]: 8: Hoare triple {42825#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {42825#true} is VALID [2022-02-20 23:38:18,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {42825#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {42825#true} is VALID [2022-02-20 23:38:18,467 INFO L290 TraceCheckUtils]: 10: Hoare triple {42825#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {42825#true} is VALID [2022-02-20 23:38:18,467 INFO L290 TraceCheckUtils]: 11: Hoare triple {42825#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {42825#true} is VALID [2022-02-20 23:38:18,467 INFO L290 TraceCheckUtils]: 12: Hoare triple {42825#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,468 INFO L290 TraceCheckUtils]: 13: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,468 INFO L290 TraceCheckUtils]: 14: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,468 INFO L290 TraceCheckUtils]: 15: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,468 INFO L290 TraceCheckUtils]: 16: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume { :end_inline_c1 } true; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,469 INFO L290 TraceCheckUtils]: 17: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,469 INFO L290 TraceCheckUtils]: 18: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume true; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,469 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {42847#(= (select |#valid| ~global~0.base) 1)} {42825#true} #107#return; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,470 INFO L290 TraceCheckUtils]: 0: Hoare triple {42825#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {42825#true} is VALID [2022-02-20 23:38:18,470 INFO L290 TraceCheckUtils]: 1: Hoare triple {42825#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {42825#true} is VALID [2022-02-20 23:38:18,470 INFO L272 TraceCheckUtils]: 2: Hoare triple {42825#true} call parse_input(3, 0); {42848#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:18,470 INFO L290 TraceCheckUtils]: 3: Hoare triple {42848#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {42825#true} is VALID [2022-02-20 23:38:18,470 INFO L290 TraceCheckUtils]: 4: Hoare triple {42825#true} assume !!(~i~0#1 < 2); {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 5: Hoare triple {42825#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 6: Hoare triple {42825#true} assume 1 == #valid[#t~mem3#1.base]; {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 7: Hoare triple {42825#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 8: Hoare triple {42825#true} assume 1 == #valid[~input#1.base]; {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 9: Hoare triple {42825#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 10: Hoare triple {42825#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 11: Hoare triple {42825#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 12: Hoare triple {42825#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {42825#true} is VALID [2022-02-20 23:38:18,471 INFO L290 TraceCheckUtils]: 13: Hoare triple {42825#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {42825#true} is VALID [2022-02-20 23:38:18,472 INFO L290 TraceCheckUtils]: 14: Hoare triple {42825#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {42825#true} is VALID [2022-02-20 23:38:18,472 INFO L290 TraceCheckUtils]: 15: Hoare triple {42825#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,472 INFO L290 TraceCheckUtils]: 16: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,473 INFO L290 TraceCheckUtils]: 17: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,473 INFO L290 TraceCheckUtils]: 18: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,473 INFO L290 TraceCheckUtils]: 19: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume { :end_inline_c1 } true; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,473 INFO L290 TraceCheckUtils]: 20: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,474 INFO L290 TraceCheckUtils]: 21: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume true; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,474 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {42847#(= (select |#valid| ~global~0.base) 1)} {42825#true} #107#return; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,474 INFO L272 TraceCheckUtils]: 23: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} call parse_input(4, 0); {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,475 INFO L290 TraceCheckUtils]: 24: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,475 INFO L290 TraceCheckUtils]: 25: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !!(~i~0#1 < 2); {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,475 INFO L290 TraceCheckUtils]: 26: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,475 INFO L290 TraceCheckUtils]: 27: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 1 == #valid[#t~mem3#1.base]; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,476 INFO L290 TraceCheckUtils]: 28: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,476 INFO L290 TraceCheckUtils]: 29: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 1 == #valid[~input#1.base]; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,476 INFO L290 TraceCheckUtils]: 30: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,476 INFO L290 TraceCheckUtils]: 31: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,477 INFO L290 TraceCheckUtils]: 32: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,477 INFO L290 TraceCheckUtils]: 33: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,477 INFO L290 TraceCheckUtils]: 34: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,477 INFO L290 TraceCheckUtils]: 35: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,478 INFO L290 TraceCheckUtils]: 36: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,478 INFO L290 TraceCheckUtils]: 37: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,478 INFO L290 TraceCheckUtils]: 38: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~global~0.base != 0 || ~global~0.offset != 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,479 INFO L290 TraceCheckUtils]: 39: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 0 == ~global~0.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,479 INFO L290 TraceCheckUtils]: 40: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~global~0.base < #StackHeapBarrier; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,479 INFO L290 TraceCheckUtils]: 41: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !(0 == ~global~0.base || 1 == #valid[~global~0.base]); {42826#false} is VALID [2022-02-20 23:38:18,479 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 12 proven. 3 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:18,479 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:18,480 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [130294363] [2022-02-20 23:38:18,480 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [130294363] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:18,480 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1182198383] [2022-02-20 23:38:18,480 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:18,480 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:18,480 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:18,481 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:38:18,491 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:38:18,547 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:18,549 INFO L263 TraceCheckSpWp]: Trace formula consists of 270 conjuncts, 15 conjunts are in the unsatisfiable core [2022-02-20 23:38:18,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:18,558 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:18,582 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 5 [2022-02-20 23:38:18,649 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:38:18,649 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 23:38:18,664 INFO L290 TraceCheckUtils]: 0: Hoare triple {42825#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {42825#true} is VALID [2022-02-20 23:38:18,664 INFO L290 TraceCheckUtils]: 1: Hoare triple {42825#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L272 TraceCheckUtils]: 2: Hoare triple {42825#true} call parse_input(3, 0); {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L290 TraceCheckUtils]: 3: Hoare triple {42825#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L290 TraceCheckUtils]: 4: Hoare triple {42825#true} assume !!(~i~0#1 < 2); {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L290 TraceCheckUtils]: 5: Hoare triple {42825#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L290 TraceCheckUtils]: 6: Hoare triple {42825#true} assume 1 == #valid[#t~mem3#1.base]; {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {42825#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {42825#true} assume 1 == #valid[~input#1.base]; {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L290 TraceCheckUtils]: 9: Hoare triple {42825#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {42825#true} is VALID [2022-02-20 23:38:18,665 INFO L290 TraceCheckUtils]: 10: Hoare triple {42825#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {42825#true} is VALID [2022-02-20 23:38:18,666 INFO L290 TraceCheckUtils]: 11: Hoare triple {42825#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {42825#true} is VALID [2022-02-20 23:38:18,666 INFO L290 TraceCheckUtils]: 12: Hoare triple {42825#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {42825#true} is VALID [2022-02-20 23:38:18,666 INFO L290 TraceCheckUtils]: 13: Hoare triple {42825#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {42825#true} is VALID [2022-02-20 23:38:18,666 INFO L290 TraceCheckUtils]: 14: Hoare triple {42825#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {42825#true} is VALID [2022-02-20 23:38:18,667 INFO L290 TraceCheckUtils]: 15: Hoare triple {42825#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,667 INFO L290 TraceCheckUtils]: 16: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,667 INFO L290 TraceCheckUtils]: 17: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} is VALID [2022-02-20 23:38:18,667 INFO L290 TraceCheckUtils]: 18: Hoare triple {42849#(= (select |#valid| |parse_input_c1_~x~0#1.base|) 1)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,668 INFO L290 TraceCheckUtils]: 19: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume { :end_inline_c1 } true; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,668 INFO L290 TraceCheckUtils]: 20: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,668 INFO L290 TraceCheckUtils]: 21: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume true; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,669 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {42847#(= (select |#valid| ~global~0.base) 1)} {42825#true} #107#return; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,669 INFO L272 TraceCheckUtils]: 23: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} call parse_input(4, 0); {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,669 INFO L290 TraceCheckUtils]: 24: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,670 INFO L290 TraceCheckUtils]: 25: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !!(~i~0#1 < 2); {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,670 INFO L290 TraceCheckUtils]: 26: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,670 INFO L290 TraceCheckUtils]: 27: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 1 == #valid[#t~mem3#1.base]; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,670 INFO L290 TraceCheckUtils]: 28: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,671 INFO L290 TraceCheckUtils]: 29: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 1 == #valid[~input#1.base]; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,671 INFO L290 TraceCheckUtils]: 30: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,671 INFO L290 TraceCheckUtils]: 31: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,671 INFO L290 TraceCheckUtils]: 32: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,672 INFO L290 TraceCheckUtils]: 33: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,672 INFO L290 TraceCheckUtils]: 34: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,672 INFO L290 TraceCheckUtils]: 35: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,673 INFO L290 TraceCheckUtils]: 36: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,673 INFO L290 TraceCheckUtils]: 37: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,673 INFO L290 TraceCheckUtils]: 38: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~global~0.base != 0 || ~global~0.offset != 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,674 INFO L290 TraceCheckUtils]: 39: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 0 == ~global~0.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,674 INFO L290 TraceCheckUtils]: 40: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~global~0.base < #StackHeapBarrier; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:18,674 INFO L290 TraceCheckUtils]: 41: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !(0 == ~global~0.base || 1 == #valid[~global~0.base]); {42826#false} is VALID [2022-02-20 23:38:18,675 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:18,675 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:19,430 INFO L290 TraceCheckUtils]: 41: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !(0 == ~global~0.base || 1 == #valid[~global~0.base]); {42826#false} is VALID [2022-02-20 23:38:19,430 INFO L290 TraceCheckUtils]: 40: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~global~0.base < #StackHeapBarrier; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:19,431 INFO L290 TraceCheckUtils]: 39: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume 0 == ~global~0.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:19,431 INFO L290 TraceCheckUtils]: 38: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume ~global~0.base != 0 || ~global~0.offset != 0; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:19,431 INFO L290 TraceCheckUtils]: 37: Hoare triple {42847#(= (select |#valid| ~global~0.base) 1)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:19,432 INFO L290 TraceCheckUtils]: 36: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {42847#(= (select |#valid| ~global~0.base) 1)} is VALID [2022-02-20 23:38:19,432 INFO L290 TraceCheckUtils]: 35: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,433 INFO L290 TraceCheckUtils]: 34: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,433 INFO L290 TraceCheckUtils]: 33: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,434 INFO L290 TraceCheckUtils]: 32: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,434 INFO L290 TraceCheckUtils]: 30: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,435 INFO L290 TraceCheckUtils]: 29: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume 1 == #valid[~input#1.base]; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,435 INFO L290 TraceCheckUtils]: 28: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,436 INFO L290 TraceCheckUtils]: 27: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume 1 == #valid[#t~mem3#1.base]; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,436 INFO L290 TraceCheckUtils]: 25: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume !!(~i~0#1 < 2); {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,437 INFO L272 TraceCheckUtils]: 23: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} call parse_input(4, 0); {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,438 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} {42825#true} #107#return; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,438 INFO L290 TraceCheckUtils]: 21: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume true; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,438 INFO L290 TraceCheckUtils]: 20: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,439 INFO L290 TraceCheckUtils]: 19: Hoare triple {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} assume { :end_inline_c1 } true; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,439 INFO L290 TraceCheckUtils]: 18: Hoare triple {43049#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) |parse_input_c1_~x~0#1.base|) 1) (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {42991#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0)) (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) ~global~0.base) 1)))} is VALID [2022-02-20 23:38:19,440 INFO L290 TraceCheckUtils]: 17: Hoare triple {43049#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) |parse_input_c1_~x~0#1.base|) 1) (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {43049#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) |parse_input_c1_~x~0#1.base|) 1) (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0))))} is VALID [2022-02-20 23:38:19,440 INFO L290 TraceCheckUtils]: 16: Hoare triple {43049#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) |parse_input_c1_~x~0#1.base|) 1) (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {43049#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) |parse_input_c1_~x~0#1.base|) 1) (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0))))} is VALID [2022-02-20 23:38:19,441 INFO L290 TraceCheckUtils]: 15: Hoare triple {42825#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {43049#(forall ((v_ArrVal_109 Int) (|v_parse_input_c1_~x~0#1.base_31| Int)) (or (= (select (store |#valid| |v_parse_input_c1_~x~0#1.base_31| v_ArrVal_109) |parse_input_c1_~x~0#1.base|) 1) (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_31|) 0))))} is VALID [2022-02-20 23:38:19,441 INFO L290 TraceCheckUtils]: 14: Hoare triple {42825#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {42825#true} is VALID [2022-02-20 23:38:19,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {42825#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {42825#true} is VALID [2022-02-20 23:38:19,441 INFO L290 TraceCheckUtils]: 12: Hoare triple {42825#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {42825#true} is VALID [2022-02-20 23:38:19,441 INFO L290 TraceCheckUtils]: 11: Hoare triple {42825#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {42825#true} is VALID [2022-02-20 23:38:19,441 INFO L290 TraceCheckUtils]: 10: Hoare triple {42825#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {42825#true} is VALID [2022-02-20 23:38:19,441 INFO L290 TraceCheckUtils]: 9: Hoare triple {42825#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {42825#true} is VALID [2022-02-20 23:38:19,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {42825#true} assume 1 == #valid[~input#1.base]; {42825#true} is VALID [2022-02-20 23:38:19,442 INFO L290 TraceCheckUtils]: 7: Hoare triple {42825#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {42825#true} is VALID [2022-02-20 23:38:19,442 INFO L290 TraceCheckUtils]: 6: Hoare triple {42825#true} assume 1 == #valid[#t~mem3#1.base]; {42825#true} is VALID [2022-02-20 23:38:19,442 INFO L290 TraceCheckUtils]: 5: Hoare triple {42825#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {42825#true} is VALID [2022-02-20 23:38:19,442 INFO L290 TraceCheckUtils]: 4: Hoare triple {42825#true} assume !!(~i~0#1 < 2); {42825#true} is VALID [2022-02-20 23:38:19,442 INFO L290 TraceCheckUtils]: 3: Hoare triple {42825#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {42825#true} is VALID [2022-02-20 23:38:19,442 INFO L272 TraceCheckUtils]: 2: Hoare triple {42825#true} call parse_input(3, 0); {42825#true} is VALID [2022-02-20 23:38:19,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {42825#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {42825#true} is VALID [2022-02-20 23:38:19,442 INFO L290 TraceCheckUtils]: 0: Hoare triple {42825#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {42825#true} is VALID [2022-02-20 23:38:19,443 INFO L134 CoverageAnalysis]: Checked inductivity of 15 backedges. 13 proven. 2 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:19,443 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1182198383] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:19,443 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:38:19,443 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 3, 4] total 6 [2022-02-20 23:38:19,443 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1740023415] [2022-02-20 23:38:19,443 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:19,444 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 42 [2022-02-20 23:38:19,444 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:19,444 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 7 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:19,483 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:19,484 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-02-20 23:38:19,484 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:19,484 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-02-20 23:38:19,484 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=29, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:19,484 INFO L87 Difference]: Start difference. First operand 376 states and 485 transitions. Second operand has 7 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:19,718 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:19,719 INFO L93 Difference]: Finished difference Result 407 states and 505 transitions. [2022-02-20 23:38:19,719 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:38:19,719 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 42 [2022-02-20 23:38:19,719 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:19,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:19,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 110 transitions. [2022-02-20 23:38:19,720 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:19,720 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 110 transitions. [2022-02-20 23:38:19,721 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 110 transitions. [2022-02-20 23:38:19,793 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 110 edges. 110 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:19,799 INFO L225 Difference]: With dead ends: 407 [2022-02-20 23:38:19,799 INFO L226 Difference]: Without dead ends: 407 [2022-02-20 23:38:19,799 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 95 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=24, Invalid=48, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:38:19,799 INFO L933 BasicCegarLoop]: 39 mSDtfsCounter, 83 mSDsluCounter, 71 mSDsCounter, 0 mSdLazyCounter, 109 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 83 SdHoareTripleChecker+Valid, 110 SdHoareTripleChecker+Invalid, 209 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 109 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 89 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:19,800 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [83 Valid, 110 Invalid, 209 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 109 Invalid, 0 Unknown, 89 Unchecked, 0.1s Time] [2022-02-20 23:38:19,800 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 407 states. [2022-02-20 23:38:19,804 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 407 to 382. [2022-02-20 23:38:19,804 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:19,804 INFO L82 GeneralOperation]: Start isEquivalent. First operand 407 states. Second operand has 382 states, 346 states have (on average 1.3150289017341041) internal successors, (455), 363 states have internal predecessors, (455), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:19,805 INFO L74 IsIncluded]: Start isIncluded. First operand 407 states. Second operand has 382 states, 346 states have (on average 1.3150289017341041) internal successors, (455), 363 states have internal predecessors, (455), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:19,805 INFO L87 Difference]: Start difference. First operand 407 states. Second operand has 382 states, 346 states have (on average 1.3150289017341041) internal successors, (455), 363 states have internal predecessors, (455), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:19,811 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:19,811 INFO L93 Difference]: Finished difference Result 407 states and 505 transitions. [2022-02-20 23:38:19,812 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 505 transitions. [2022-02-20 23:38:19,812 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:19,812 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:19,812 INFO L74 IsIncluded]: Start isIncluded. First operand has 382 states, 346 states have (on average 1.3150289017341041) internal successors, (455), 363 states have internal predecessors, (455), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 407 states. [2022-02-20 23:38:19,813 INFO L87 Difference]: Start difference. First operand has 382 states, 346 states have (on average 1.3150289017341041) internal successors, (455), 363 states have internal predecessors, (455), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 407 states. [2022-02-20 23:38:19,819 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:19,820 INFO L93 Difference]: Finished difference Result 407 states and 505 transitions. [2022-02-20 23:38:19,820 INFO L276 IsEmpty]: Start isEmpty. Operand 407 states and 505 transitions. [2022-02-20 23:38:19,820 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:19,820 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:19,820 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:19,821 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:19,821 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 382 states, 346 states have (on average 1.3150289017341041) internal successors, (455), 363 states have internal predecessors, (455), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:19,826 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 382 states to 382 states and 487 transitions. [2022-02-20 23:38:19,826 INFO L78 Accepts]: Start accepts. Automaton has 382 states and 487 transitions. Word has length 42 [2022-02-20 23:38:19,826 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:19,826 INFO L470 AbstractCegarLoop]: Abstraction has 382 states and 487 transitions. [2022-02-20 23:38:19,827 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 6 states have (on average 10.0) internal successors, (60), 6 states have internal predecessors, (60), 3 states have call successors, (4), 4 states have call predecessors, (4), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:19,827 INFO L276 IsEmpty]: Start isEmpty. Operand 382 states and 487 transitions. [2022-02-20 23:38:19,827 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 46 [2022-02-20 23:38:19,827 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:19,827 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:19,844 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (15)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:20,043 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:20,043 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:20,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:20,044 INFO L85 PathProgramCache]: Analyzing trace with hash -1366889029, now seen corresponding path program 1 times [2022-02-20 23:38:20,044 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:20,044 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [368893990] [2022-02-20 23:38:20,044 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:20,044 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:20,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,097 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:20,107 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,111 INFO L290 TraceCheckUtils]: 0: Hoare triple {44734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {44709#true} is VALID [2022-02-20 23:38:20,111 INFO L290 TraceCheckUtils]: 1: Hoare triple {44709#true} assume !!(~i~0#1 < 2); {44709#true} is VALID [2022-02-20 23:38:20,111 INFO L290 TraceCheckUtils]: 2: Hoare triple {44709#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44709#true} is VALID [2022-02-20 23:38:20,111 INFO L290 TraceCheckUtils]: 3: Hoare triple {44709#true} assume 1 == #valid[#t~mem3#1.base]; {44709#true} is VALID [2022-02-20 23:38:20,111 INFO L290 TraceCheckUtils]: 4: Hoare triple {44709#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {44709#true} is VALID [2022-02-20 23:38:20,111 INFO L290 TraceCheckUtils]: 5: Hoare triple {44709#true} assume 1 == #valid[~input#1.base]; {44709#true} is VALID [2022-02-20 23:38:20,111 INFO L290 TraceCheckUtils]: 6: Hoare triple {44709#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {44709#true} is VALID [2022-02-20 23:38:20,111 INFO L290 TraceCheckUtils]: 7: Hoare triple {44709#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 8: Hoare triple {44709#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 9: Hoare triple {44709#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 10: Hoare triple {44709#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 11: Hoare triple {44709#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 12: Hoare triple {44709#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 13: Hoare triple {44709#true} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 14: Hoare triple {44709#true} assume !(~global~0.base != 0 || ~global~0.offset != 0); {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 15: Hoare triple {44709#true} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {44709#true} is VALID [2022-02-20 23:38:20,112 INFO L290 TraceCheckUtils]: 16: Hoare triple {44709#true} assume { :end_inline_c1 } true; {44709#true} is VALID [2022-02-20 23:38:20,113 INFO L290 TraceCheckUtils]: 17: Hoare triple {44709#true} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,113 INFO L290 TraceCheckUtils]: 18: Hoare triple {44709#true} assume true; {44709#true} is VALID [2022-02-20 23:38:20,113 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {44709#true} {44709#true} #107#return; {44709#true} is VALID [2022-02-20 23:38:20,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {44709#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {44709#true} is VALID [2022-02-20 23:38:20,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {44709#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {44709#true} is VALID [2022-02-20 23:38:20,114 INFO L272 TraceCheckUtils]: 2: Hoare triple {44709#true} call parse_input(3, 0); {44734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:20,114 INFO L290 TraceCheckUtils]: 3: Hoare triple {44734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {44709#true} is VALID [2022-02-20 23:38:20,114 INFO L290 TraceCheckUtils]: 4: Hoare triple {44709#true} assume !!(~i~0#1 < 2); {44709#true} is VALID [2022-02-20 23:38:20,114 INFO L290 TraceCheckUtils]: 5: Hoare triple {44709#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44709#true} is VALID [2022-02-20 23:38:20,114 INFO L290 TraceCheckUtils]: 6: Hoare triple {44709#true} assume 1 == #valid[#t~mem3#1.base]; {44709#true} is VALID [2022-02-20 23:38:20,114 INFO L290 TraceCheckUtils]: 7: Hoare triple {44709#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {44709#true} is VALID [2022-02-20 23:38:20,114 INFO L290 TraceCheckUtils]: 8: Hoare triple {44709#true} assume 1 == #valid[~input#1.base]; {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 9: Hoare triple {44709#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 10: Hoare triple {44709#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 11: Hoare triple {44709#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 12: Hoare triple {44709#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 13: Hoare triple {44709#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 14: Hoare triple {44709#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 15: Hoare triple {44709#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 16: Hoare triple {44709#true} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {44709#true} is VALID [2022-02-20 23:38:20,115 INFO L290 TraceCheckUtils]: 17: Hoare triple {44709#true} assume !(~global~0.base != 0 || ~global~0.offset != 0); {44709#true} is VALID [2022-02-20 23:38:20,116 INFO L290 TraceCheckUtils]: 18: Hoare triple {44709#true} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {44709#true} is VALID [2022-02-20 23:38:20,116 INFO L290 TraceCheckUtils]: 19: Hoare triple {44709#true} assume { :end_inline_c1 } true; {44709#true} is VALID [2022-02-20 23:38:20,116 INFO L290 TraceCheckUtils]: 20: Hoare triple {44709#true} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,116 INFO L290 TraceCheckUtils]: 21: Hoare triple {44709#true} assume true; {44709#true} is VALID [2022-02-20 23:38:20,116 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {44709#true} {44709#true} #107#return; {44709#true} is VALID [2022-02-20 23:38:20,116 INFO L272 TraceCheckUtils]: 23: Hoare triple {44709#true} call parse_input(4, 0); {44709#true} is VALID [2022-02-20 23:38:20,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {44709#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {44731#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:20,117 INFO L290 TraceCheckUtils]: 25: Hoare triple {44731#(= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {44731#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:20,117 INFO L290 TraceCheckUtils]: 26: Hoare triple {44731#(= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44731#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:20,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {44731#(= |parse_input_~i~0#1| 0)} assume 1 == #valid[#t~mem3#1.base]; {44731#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:20,117 INFO L290 TraceCheckUtils]: 28: Hoare triple {44731#(= |parse_input_~i~0#1| 0)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {44731#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:20,118 INFO L290 TraceCheckUtils]: 29: Hoare triple {44731#(= |parse_input_~i~0#1| 0)} assume 1 == #valid[~input#1.base]; {44731#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:20,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {44731#(= |parse_input_~i~0#1| 0)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {44731#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:20,118 INFO L290 TraceCheckUtils]: 31: Hoare triple {44731#(= |parse_input_~i~0#1| 0)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {44731#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:20,119 INFO L290 TraceCheckUtils]: 32: Hoare triple {44731#(= |parse_input_~i~0#1| 0)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,119 INFO L290 TraceCheckUtils]: 33: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume !!(~i~0#1 < 2); {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,119 INFO L290 TraceCheckUtils]: 34: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,119 INFO L290 TraceCheckUtils]: 35: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume 1 == #valid[#t~mem3#1.base]; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,120 INFO L290 TraceCheckUtils]: 36: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,120 INFO L290 TraceCheckUtils]: 37: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume 1 == #valid[~input#1.base]; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,120 INFO L290 TraceCheckUtils]: 38: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,120 INFO L290 TraceCheckUtils]: 39: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,121 INFO L290 TraceCheckUtils]: 40: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {44733#(<= 2 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,121 INFO L290 TraceCheckUtils]: 41: Hoare triple {44733#(<= 2 |parse_input_~i~0#1|)} assume !!(~i~0#1 < 2); {44710#false} is VALID [2022-02-20 23:38:20,121 INFO L290 TraceCheckUtils]: 42: Hoare triple {44710#false} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44710#false} is VALID [2022-02-20 23:38:20,121 INFO L290 TraceCheckUtils]: 43: Hoare triple {44710#false} assume 1 == #valid[#t~mem3#1.base]; {44710#false} is VALID [2022-02-20 23:38:20,121 INFO L290 TraceCheckUtils]: 44: Hoare triple {44710#false} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {44710#false} is VALID [2022-02-20 23:38:20,122 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 25 proven. 10 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:20,122 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:20,122 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [368893990] [2022-02-20 23:38:20,122 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [368893990] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:20,122 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [328255187] [2022-02-20 23:38:20,122 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:20,122 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:20,123 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:20,123 INFO L229 MonitoredProcess]: Starting monitored process 16 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:38:20,124 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Waiting until timeout for monitored process [2022-02-20 23:38:20,187 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,188 INFO L263 TraceCheckSpWp]: Trace formula consists of 264 conjuncts, 4 conjunts are in the unsatisfiable core [2022-02-20 23:38:20,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,195 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:20,294 INFO L290 TraceCheckUtils]: 0: Hoare triple {44709#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {44709#true} is VALID [2022-02-20 23:38:20,295 INFO L290 TraceCheckUtils]: 1: Hoare triple {44709#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {44709#true} is VALID [2022-02-20 23:38:20,295 INFO L272 TraceCheckUtils]: 2: Hoare triple {44709#true} call parse_input(3, 0); {44709#true} is VALID [2022-02-20 23:38:20,295 INFO L290 TraceCheckUtils]: 3: Hoare triple {44709#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {44709#true} is VALID [2022-02-20 23:38:20,295 INFO L290 TraceCheckUtils]: 4: Hoare triple {44709#true} assume !!(~i~0#1 < 2); {44709#true} is VALID [2022-02-20 23:38:20,295 INFO L290 TraceCheckUtils]: 5: Hoare triple {44709#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44709#true} is VALID [2022-02-20 23:38:20,295 INFO L290 TraceCheckUtils]: 6: Hoare triple {44709#true} assume 1 == #valid[#t~mem3#1.base]; {44709#true} is VALID [2022-02-20 23:38:20,295 INFO L290 TraceCheckUtils]: 7: Hoare triple {44709#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 8: Hoare triple {44709#true} assume 1 == #valid[~input#1.base]; {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 9: Hoare triple {44709#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 10: Hoare triple {44709#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 11: Hoare triple {44709#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 12: Hoare triple {44709#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 13: Hoare triple {44709#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 14: Hoare triple {44709#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 15: Hoare triple {44709#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,296 INFO L290 TraceCheckUtils]: 16: Hoare triple {44709#true} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {44709#true} is VALID [2022-02-20 23:38:20,297 INFO L290 TraceCheckUtils]: 17: Hoare triple {44709#true} assume !(~global~0.base != 0 || ~global~0.offset != 0); {44709#true} is VALID [2022-02-20 23:38:20,297 INFO L290 TraceCheckUtils]: 18: Hoare triple {44709#true} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {44709#true} is VALID [2022-02-20 23:38:20,297 INFO L290 TraceCheckUtils]: 19: Hoare triple {44709#true} assume { :end_inline_c1 } true; {44709#true} is VALID [2022-02-20 23:38:20,297 INFO L290 TraceCheckUtils]: 20: Hoare triple {44709#true} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {44709#true} is VALID [2022-02-20 23:38:20,297 INFO L290 TraceCheckUtils]: 21: Hoare triple {44709#true} assume true; {44709#true} is VALID [2022-02-20 23:38:20,297 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {44709#true} {44709#true} #107#return; {44709#true} is VALID [2022-02-20 23:38:20,297 INFO L272 TraceCheckUtils]: 23: Hoare triple {44709#true} call parse_input(4, 0); {44709#true} is VALID [2022-02-20 23:38:20,298 INFO L290 TraceCheckUtils]: 24: Hoare triple {44709#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {44810#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,298 INFO L290 TraceCheckUtils]: 25: Hoare triple {44810#(<= 0 |parse_input_~i~0#1|)} assume !!(~i~0#1 < 2); {44810#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,298 INFO L290 TraceCheckUtils]: 26: Hoare triple {44810#(<= 0 |parse_input_~i~0#1|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44810#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,298 INFO L290 TraceCheckUtils]: 27: Hoare triple {44810#(<= 0 |parse_input_~i~0#1|)} assume 1 == #valid[#t~mem3#1.base]; {44810#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,299 INFO L290 TraceCheckUtils]: 28: Hoare triple {44810#(<= 0 |parse_input_~i~0#1|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {44810#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,299 INFO L290 TraceCheckUtils]: 29: Hoare triple {44810#(<= 0 |parse_input_~i~0#1|)} assume 1 == #valid[~input#1.base]; {44810#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,299 INFO L290 TraceCheckUtils]: 30: Hoare triple {44810#(<= 0 |parse_input_~i~0#1|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {44810#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {44810#(<= 0 |parse_input_~i~0#1|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {44810#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,300 INFO L290 TraceCheckUtils]: 32: Hoare triple {44810#(<= 0 |parse_input_~i~0#1|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,300 INFO L290 TraceCheckUtils]: 33: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume !!(~i~0#1 < 2); {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,300 INFO L290 TraceCheckUtils]: 34: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,301 INFO L290 TraceCheckUtils]: 35: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume 1 == #valid[#t~mem3#1.base]; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,301 INFO L290 TraceCheckUtils]: 36: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,301 INFO L290 TraceCheckUtils]: 37: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume 1 == #valid[~input#1.base]; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,301 INFO L290 TraceCheckUtils]: 38: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,302 INFO L290 TraceCheckUtils]: 39: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {44732#(<= 1 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,302 INFO L290 TraceCheckUtils]: 40: Hoare triple {44732#(<= 1 |parse_input_~i~0#1|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {44733#(<= 2 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:20,302 INFO L290 TraceCheckUtils]: 41: Hoare triple {44733#(<= 2 |parse_input_~i~0#1|)} assume !!(~i~0#1 < 2); {44710#false} is VALID [2022-02-20 23:38:20,302 INFO L290 TraceCheckUtils]: 42: Hoare triple {44710#false} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {44710#false} is VALID [2022-02-20 23:38:20,303 INFO L290 TraceCheckUtils]: 43: Hoare triple {44710#false} assume 1 == #valid[#t~mem3#1.base]; {44710#false} is VALID [2022-02-20 23:38:20,303 INFO L290 TraceCheckUtils]: 44: Hoare triple {44710#false} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {44710#false} is VALID [2022-02-20 23:38:20,303 INFO L134 CoverageAnalysis]: Checked inductivity of 35 backedges. 34 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:38:20,303 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:20,303 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [328255187] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:20,303 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:38:20,303 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [6] total 7 [2022-02-20 23:38:20,303 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [160991109] [2022-02-20 23:38:20,304 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:20,304 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 8.4) internal successors, (42), 5 states have internal predecessors, (42), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 45 [2022-02-20 23:38:20,304 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:20,304 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 8.4) internal successors, (42), 5 states have internal predecessors, (42), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:20,339 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 45 edges. 45 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:20,339 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:38:20,339 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:20,340 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:38:20,340 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:20,340 INFO L87 Difference]: Start difference. First operand 382 states and 487 transitions. Second operand has 5 states, 5 states have (on average 8.4) internal successors, (42), 5 states have internal predecessors, (42), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:20,456 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:20,457 INFO L93 Difference]: Finished difference Result 439 states and 535 transitions. [2022-02-20 23:38:20,457 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:38:20,457 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 8.4) internal successors, (42), 5 states have internal predecessors, (42), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 45 [2022-02-20 23:38:20,457 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:20,457 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 8.4) internal successors, (42), 5 states have internal predecessors, (42), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:20,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 93 transitions. [2022-02-20 23:38:20,458 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 8.4) internal successors, (42), 5 states have internal predecessors, (42), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:20,458 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 93 transitions. [2022-02-20 23:38:20,458 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 93 transitions. [2022-02-20 23:38:20,517 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:38:20,524 INFO L225 Difference]: With dead ends: 439 [2022-02-20 23:38:20,524 INFO L226 Difference]: Without dead ends: 439 [2022-02-20 23:38:20,524 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 46 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=15, Invalid=27, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:38:20,526 INFO L933 BasicCegarLoop]: 70 mSDtfsCounter, 68 mSDsluCounter, 95 mSDsCounter, 0 mSdLazyCounter, 41 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 165 SdHoareTripleChecker+Invalid, 43 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 41 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:20,527 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 165 Invalid, 43 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 41 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:38:20,527 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 439 states. [2022-02-20 23:38:20,532 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 439 to 372. [2022-02-20 23:38:20,532 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:20,533 INFO L82 GeneralOperation]: Start isEquivalent. First operand 439 states. Second operand has 372 states, 336 states have (on average 1.2827380952380953) internal successors, (431), 353 states have internal predecessors, (431), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:20,533 INFO L74 IsIncluded]: Start isIncluded. First operand 439 states. Second operand has 372 states, 336 states have (on average 1.2827380952380953) internal successors, (431), 353 states have internal predecessors, (431), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:20,533 INFO L87 Difference]: Start difference. First operand 439 states. Second operand has 372 states, 336 states have (on average 1.2827380952380953) internal successors, (431), 353 states have internal predecessors, (431), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:20,541 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:20,541 INFO L93 Difference]: Finished difference Result 439 states and 535 transitions. [2022-02-20 23:38:20,541 INFO L276 IsEmpty]: Start isEmpty. Operand 439 states and 535 transitions. [2022-02-20 23:38:20,542 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:20,542 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:20,542 INFO L74 IsIncluded]: Start isIncluded. First operand has 372 states, 336 states have (on average 1.2827380952380953) internal successors, (431), 353 states have internal predecessors, (431), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 439 states. [2022-02-20 23:38:20,542 INFO L87 Difference]: Start difference. First operand has 372 states, 336 states have (on average 1.2827380952380953) internal successors, (431), 353 states have internal predecessors, (431), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) Second operand 439 states. [2022-02-20 23:38:20,551 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:20,551 INFO L93 Difference]: Finished difference Result 439 states and 535 transitions. [2022-02-20 23:38:20,551 INFO L276 IsEmpty]: Start isEmpty. Operand 439 states and 535 transitions. [2022-02-20 23:38:20,552 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:20,552 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:20,552 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:20,552 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:20,553 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 372 states, 336 states have (on average 1.2827380952380953) internal successors, (431), 353 states have internal predecessors, (431), 9 states have call successors, (9), 9 states have call predecessors, (9), 16 states have return successors, (23), 9 states have call predecessors, (23), 9 states have call successors, (23) [2022-02-20 23:38:20,558 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 372 states to 372 states and 463 transitions. [2022-02-20 23:38:20,558 INFO L78 Accepts]: Start accepts. Automaton has 372 states and 463 transitions. Word has length 45 [2022-02-20 23:38:20,558 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:20,558 INFO L470 AbstractCegarLoop]: Abstraction has 372 states and 463 transitions. [2022-02-20 23:38:20,559 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 8.4) internal successors, (42), 5 states have internal predecessors, (42), 1 states have call successors, (2), 1 states have call predecessors, (2), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-02-20 23:38:20,559 INFO L276 IsEmpty]: Start isEmpty. Operand 372 states and 463 transitions. [2022-02-20 23:38:20,559 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 23:38:20,559 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:20,559 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:20,581 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (16)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:20,777 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable25 [2022-02-20 23:38:20,777 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting parse_inputErr1REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:20,777 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:20,777 INFO L85 PathProgramCache]: Analyzing trace with hash -624108164, now seen corresponding path program 1 times [2022-02-20 23:38:20,777 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:20,777 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [463714483] [2022-02-20 23:38:20,777 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:20,778 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:20,795 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,818 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:20,825 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {46602#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume !!(~i~0#1 < 2); {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,863 INFO L290 TraceCheckUtils]: 2: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,863 INFO L290 TraceCheckUtils]: 3: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume 1 == #valid[#t~mem3#1.base]; {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,863 INFO L290 TraceCheckUtils]: 4: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume 1 == #valid[~input#1.base]; {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,864 INFO L290 TraceCheckUtils]: 6: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {46559#true} is VALID [2022-02-20 23:38:20,864 INFO L290 TraceCheckUtils]: 7: Hoare triple {46559#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {46559#true} is VALID [2022-02-20 23:38:20,864 INFO L290 TraceCheckUtils]: 8: Hoare triple {46559#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {46559#true} is VALID [2022-02-20 23:38:20,864 INFO L290 TraceCheckUtils]: 9: Hoare triple {46559#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {46559#true} is VALID [2022-02-20 23:38:20,864 INFO L290 TraceCheckUtils]: 10: Hoare triple {46559#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {46559#true} is VALID [2022-02-20 23:38:20,864 INFO L290 TraceCheckUtils]: 11: Hoare triple {46559#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {46559#true} is VALID [2022-02-20 23:38:20,865 INFO L290 TraceCheckUtils]: 12: Hoare triple {46559#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} is VALID [2022-02-20 23:38:20,865 INFO L290 TraceCheckUtils]: 13: Hoare triple {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} is VALID [2022-02-20 23:38:20,866 INFO L290 TraceCheckUtils]: 14: Hoare triple {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} is VALID [2022-02-20 23:38:20,866 INFO L290 TraceCheckUtils]: 15: Hoare triple {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} is VALID [2022-02-20 23:38:20,866 INFO L290 TraceCheckUtils]: 16: Hoare triple {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} assume { :end_inline_c1 } true; {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} is VALID [2022-02-20 23:38:20,867 INFO L290 TraceCheckUtils]: 17: Hoare triple {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} is VALID [2022-02-20 23:38:20,867 INFO L290 TraceCheckUtils]: 18: Hoare triple {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} assume true; {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} is VALID [2022-02-20 23:38:20,867 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} {46559#true} #107#return; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:20,868 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 23:38:20,873 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,887 INFO L290 TraceCheckUtils]: 0: Hoare triple {46602#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,887 INFO L290 TraceCheckUtils]: 1: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !!(~i~0#1 < 2); {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,888 INFO L290 TraceCheckUtils]: 2: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,888 INFO L290 TraceCheckUtils]: 3: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[#t~mem3#1.base]; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,888 INFO L290 TraceCheckUtils]: 4: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,888 INFO L290 TraceCheckUtils]: 5: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[~input#1.base]; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,889 INFO L290 TraceCheckUtils]: 6: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,889 INFO L290 TraceCheckUtils]: 7: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,889 INFO L290 TraceCheckUtils]: 8: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,889 INFO L290 TraceCheckUtils]: 9: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,890 INFO L290 TraceCheckUtils]: 10: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,890 INFO L290 TraceCheckUtils]: 11: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,890 INFO L290 TraceCheckUtils]: 12: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,890 INFO L290 TraceCheckUtils]: 13: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,891 INFO L290 TraceCheckUtils]: 14: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,891 INFO L290 TraceCheckUtils]: 15: Hoare triple {46607#(= |old(~global~0.base)| 0)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,891 INFO L290 TraceCheckUtils]: 16: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume { :end_inline_c1 } true; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,891 INFO L290 TraceCheckUtils]: 17: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,892 INFO L290 TraceCheckUtils]: 18: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume true; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,892 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {46607#(= |old(~global~0.base)| 0)} {46581#(not (= ~global~0.base 0))} #109#return; {46560#false} is VALID [2022-02-20 23:38:20,892 INFO L290 TraceCheckUtils]: 0: Hoare triple {46559#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {46559#true} is VALID [2022-02-20 23:38:20,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {46559#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {46559#true} is VALID [2022-02-20 23:38:20,893 INFO L272 TraceCheckUtils]: 2: Hoare triple {46559#true} call parse_input(3, 0); {46602#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:20,893 INFO L290 TraceCheckUtils]: 3: Hoare triple {46602#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,894 INFO L290 TraceCheckUtils]: 4: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume !!(~i~0#1 < 2); {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,894 INFO L290 TraceCheckUtils]: 5: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,894 INFO L290 TraceCheckUtils]: 6: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume 1 == #valid[#t~mem3#1.base]; {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,895 INFO L290 TraceCheckUtils]: 7: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,895 INFO L290 TraceCheckUtils]: 8: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume 1 == #valid[~input#1.base]; {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} is VALID [2022-02-20 23:38:20,895 INFO L290 TraceCheckUtils]: 9: Hoare triple {46603#(= |parse_input_#in~input#1.offset| |parse_input_~input#1.offset|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {46559#true} is VALID [2022-02-20 23:38:20,895 INFO L290 TraceCheckUtils]: 10: Hoare triple {46559#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {46559#true} is VALID [2022-02-20 23:38:20,895 INFO L290 TraceCheckUtils]: 11: Hoare triple {46559#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {46559#true} is VALID [2022-02-20 23:38:20,896 INFO L290 TraceCheckUtils]: 12: Hoare triple {46559#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {46559#true} is VALID [2022-02-20 23:38:20,896 INFO L290 TraceCheckUtils]: 13: Hoare triple {46559#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {46559#true} is VALID [2022-02-20 23:38:20,896 INFO L290 TraceCheckUtils]: 14: Hoare triple {46559#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {46559#true} is VALID [2022-02-20 23:38:20,896 INFO L290 TraceCheckUtils]: 15: Hoare triple {46559#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} is VALID [2022-02-20 23:38:20,897 INFO L290 TraceCheckUtils]: 16: Hoare triple {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} is VALID [2022-02-20 23:38:20,897 INFO L290 TraceCheckUtils]: 17: Hoare triple {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} is VALID [2022-02-20 23:38:20,897 INFO L290 TraceCheckUtils]: 18: Hoare triple {46604#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 |parse_input_c1_~x~0#1.base|) (<= (+ |parse_input_c1_~x~0#1.base| 1) 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} is VALID [2022-02-20 23:38:20,898 INFO L290 TraceCheckUtils]: 19: Hoare triple {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} assume { :end_inline_c1 } true; {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} is VALID [2022-02-20 23:38:20,898 INFO L290 TraceCheckUtils]: 20: Hoare triple {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} is VALID [2022-02-20 23:38:20,898 INFO L290 TraceCheckUtils]: 21: Hoare triple {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} assume true; {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} is VALID [2022-02-20 23:38:20,899 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {46605#(or (not (= |parse_input_#in~input#1.offset| 0)) (<= 1 ~global~0.base) (<= (+ ~global~0.base 1) 0))} {46559#true} #107#return; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:20,899 INFO L272 TraceCheckUtils]: 23: Hoare triple {46581#(not (= ~global~0.base 0))} call parse_input(4, 0); {46602#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:20,900 INFO L290 TraceCheckUtils]: 24: Hoare triple {46602#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,901 INFO L290 TraceCheckUtils]: 25: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !!(~i~0#1 < 2); {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,901 INFO L290 TraceCheckUtils]: 26: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,901 INFO L290 TraceCheckUtils]: 27: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[#t~mem3#1.base]; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,901 INFO L290 TraceCheckUtils]: 28: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,902 INFO L290 TraceCheckUtils]: 29: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[~input#1.base]; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,902 INFO L290 TraceCheckUtils]: 30: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,902 INFO L290 TraceCheckUtils]: 31: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,902 INFO L290 TraceCheckUtils]: 32: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,903 INFO L290 TraceCheckUtils]: 33: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,903 INFO L290 TraceCheckUtils]: 34: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,903 INFO L290 TraceCheckUtils]: 35: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,903 INFO L290 TraceCheckUtils]: 36: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,904 INFO L290 TraceCheckUtils]: 37: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:20,904 INFO L290 TraceCheckUtils]: 38: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {46607#(= |old(~global~0.base)| 0)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,905 INFO L290 TraceCheckUtils]: 40: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume { :end_inline_c1 } true; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,905 INFO L290 TraceCheckUtils]: 41: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,905 INFO L290 TraceCheckUtils]: 42: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume true; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:20,905 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {46607#(= |old(~global~0.base)| 0)} {46581#(not (= ~global~0.base 0))} #109#return; {46560#false} is VALID [2022-02-20 23:38:20,906 INFO L272 TraceCheckUtils]: 44: Hoare triple {46560#false} call parse_input(5, 0); {46560#false} is VALID [2022-02-20 23:38:20,906 INFO L290 TraceCheckUtils]: 45: Hoare triple {46560#false} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46560#false} is VALID [2022-02-20 23:38:20,906 INFO L290 TraceCheckUtils]: 46: Hoare triple {46560#false} assume !!(~i~0#1 < 2); {46560#false} is VALID [2022-02-20 23:38:20,906 INFO L290 TraceCheckUtils]: 47: Hoare triple {46560#false} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {46560#false} is VALID [2022-02-20 23:38:20,906 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 12 proven. 13 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:38:20,906 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:20,906 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [463714483] [2022-02-20 23:38:20,907 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [463714483] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:20,907 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1292170603] [2022-02-20 23:38:20,907 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:20,907 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:20,907 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:20,908 INFO L229 MonitoredProcess]: Starting monitored process 17 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:38:20,913 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Waiting until timeout for monitored process [2022-02-20 23:38:20,979 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,980 INFO L263 TraceCheckSpWp]: Trace formula consists of 306 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:38:20,997 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:20,998 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:21,092 INFO L290 TraceCheckUtils]: 0: Hoare triple {46559#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {46559#true} is VALID [2022-02-20 23:38:21,092 INFO L290 TraceCheckUtils]: 1: Hoare triple {46559#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {46559#true} is VALID [2022-02-20 23:38:21,092 INFO L272 TraceCheckUtils]: 2: Hoare triple {46559#true} call parse_input(3, 0); {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 3: Hoare triple {46559#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 4: Hoare triple {46559#true} assume !!(~i~0#1 < 2); {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 5: Hoare triple {46559#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 6: Hoare triple {46559#true} assume 1 == #valid[#t~mem3#1.base]; {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 7: Hoare triple {46559#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 8: Hoare triple {46559#true} assume 1 == #valid[~input#1.base]; {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 9: Hoare triple {46559#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 10: Hoare triple {46559#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 11: Hoare triple {46559#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 12: Hoare triple {46559#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 13: Hoare triple {46559#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {46559#true} is VALID [2022-02-20 23:38:21,093 INFO L290 TraceCheckUtils]: 14: Hoare triple {46559#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {46559#true} is VALID [2022-02-20 23:38:21,094 INFO L290 TraceCheckUtils]: 15: Hoare triple {46559#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} is VALID [2022-02-20 23:38:21,094 INFO L290 TraceCheckUtils]: 16: Hoare triple {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} is VALID [2022-02-20 23:38:21,094 INFO L290 TraceCheckUtils]: 17: Hoare triple {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} is VALID [2022-02-20 23:38:21,094 INFO L290 TraceCheckUtils]: 18: Hoare triple {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,095 INFO L290 TraceCheckUtils]: 19: Hoare triple {46581#(not (= ~global~0.base 0))} assume { :end_inline_c1 } true; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,095 INFO L290 TraceCheckUtils]: 20: Hoare triple {46581#(not (= ~global~0.base 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,095 INFO L290 TraceCheckUtils]: 21: Hoare triple {46581#(not (= ~global~0.base 0))} assume true; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,096 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {46581#(not (= ~global~0.base 0))} {46559#true} #107#return; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,096 INFO L272 TraceCheckUtils]: 23: Hoare triple {46581#(not (= ~global~0.base 0))} call parse_input(4, 0); {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,096 INFO L290 TraceCheckUtils]: 24: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,097 INFO L290 TraceCheckUtils]: 25: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !!(~i~0#1 < 2); {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,097 INFO L290 TraceCheckUtils]: 26: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,097 INFO L290 TraceCheckUtils]: 27: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[#t~mem3#1.base]; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,097 INFO L290 TraceCheckUtils]: 28: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,098 INFO L290 TraceCheckUtils]: 29: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 1 == #valid[~input#1.base]; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,098 INFO L290 TraceCheckUtils]: 30: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,098 INFO L290 TraceCheckUtils]: 31: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,098 INFO L290 TraceCheckUtils]: 32: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,099 INFO L290 TraceCheckUtils]: 33: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,099 INFO L290 TraceCheckUtils]: 34: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,099 INFO L290 TraceCheckUtils]: 35: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,099 INFO L290 TraceCheckUtils]: 36: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,100 INFO L290 TraceCheckUtils]: 37: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {46606#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:21,100 INFO L290 TraceCheckUtils]: 38: Hoare triple {46606#(= ~global~0.base |old(~global~0.base)|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {46607#(= |old(~global~0.base)| 0)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume { :end_inline_c1 } true; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,101 INFO L290 TraceCheckUtils]: 41: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,101 INFO L290 TraceCheckUtils]: 42: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume true; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,101 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {46607#(= |old(~global~0.base)| 0)} {46581#(not (= ~global~0.base 0))} #109#return; {46560#false} is VALID [2022-02-20 23:38:21,102 INFO L272 TraceCheckUtils]: 44: Hoare triple {46560#false} call parse_input(5, 0); {46560#false} is VALID [2022-02-20 23:38:21,102 INFO L290 TraceCheckUtils]: 45: Hoare triple {46560#false} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46560#false} is VALID [2022-02-20 23:38:21,102 INFO L290 TraceCheckUtils]: 46: Hoare triple {46560#false} assume !!(~i~0#1 < 2); {46560#false} is VALID [2022-02-20 23:38:21,102 INFO L290 TraceCheckUtils]: 47: Hoare triple {46560#false} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {46560#false} is VALID [2022-02-20 23:38:21,102 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 19 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:21,102 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:21,265 INFO L290 TraceCheckUtils]: 47: Hoare triple {46560#false} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {46560#false} is VALID [2022-02-20 23:38:21,265 INFO L290 TraceCheckUtils]: 46: Hoare triple {46560#false} assume !!(~i~0#1 < 2); {46560#false} is VALID [2022-02-20 23:38:21,265 INFO L290 TraceCheckUtils]: 45: Hoare triple {46560#false} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46560#false} is VALID [2022-02-20 23:38:21,265 INFO L272 TraceCheckUtils]: 44: Hoare triple {46560#false} call parse_input(5, 0); {46560#false} is VALID [2022-02-20 23:38:21,273 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {46607#(= |old(~global~0.base)| 0)} {46581#(not (= ~global~0.base 0))} #109#return; {46560#false} is VALID [2022-02-20 23:38:21,273 INFO L290 TraceCheckUtils]: 42: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume true; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,273 INFO L290 TraceCheckUtils]: 41: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,274 INFO L290 TraceCheckUtils]: 40: Hoare triple {46607#(= |old(~global~0.base)| 0)} assume { :end_inline_c1 } true; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,274 INFO L290 TraceCheckUtils]: 39: Hoare triple {46607#(= |old(~global~0.base)| 0)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,274 INFO L290 TraceCheckUtils]: 38: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {46607#(= |old(~global~0.base)| 0)} is VALID [2022-02-20 23:38:21,274 INFO L290 TraceCheckUtils]: 37: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,275 INFO L290 TraceCheckUtils]: 36: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,275 INFO L290 TraceCheckUtils]: 35: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,276 INFO L290 TraceCheckUtils]: 34: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,276 INFO L290 TraceCheckUtils]: 33: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,276 INFO L290 TraceCheckUtils]: 32: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,276 INFO L290 TraceCheckUtils]: 31: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,277 INFO L290 TraceCheckUtils]: 30: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,277 INFO L290 TraceCheckUtils]: 29: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume 1 == #valid[~input#1.base]; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,277 INFO L290 TraceCheckUtils]: 28: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume 1 == #valid[#t~mem3#1.base]; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,278 INFO L290 TraceCheckUtils]: 26: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,278 INFO L290 TraceCheckUtils]: 25: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} assume !!(~i~0#1 < 2); {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,278 INFO L290 TraceCheckUtils]: 24: Hoare triple {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,279 INFO L272 TraceCheckUtils]: 23: Hoare triple {46581#(not (= ~global~0.base 0))} call parse_input(4, 0); {46783#(or (not (= ~global~0.base 0)) (= |old(~global~0.base)| 0))} is VALID [2022-02-20 23:38:21,279 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {46581#(not (= ~global~0.base 0))} {46559#true} #107#return; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,279 INFO L290 TraceCheckUtils]: 21: Hoare triple {46581#(not (= ~global~0.base 0))} assume true; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,279 INFO L290 TraceCheckUtils]: 20: Hoare triple {46581#(not (= ~global~0.base 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,280 INFO L290 TraceCheckUtils]: 19: Hoare triple {46581#(not (= ~global~0.base 0))} assume { :end_inline_c1 } true; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,280 INFO L290 TraceCheckUtils]: 18: Hoare triple {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {46581#(not (= ~global~0.base 0))} is VALID [2022-02-20 23:38:21,283 INFO L290 TraceCheckUtils]: 17: Hoare triple {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} is VALID [2022-02-20 23:38:21,283 INFO L290 TraceCheckUtils]: 16: Hoare triple {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} is VALID [2022-02-20 23:38:21,284 INFO L290 TraceCheckUtils]: 15: Hoare triple {46559#true} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {46656#(not (= |parse_input_c1_~x~0#1.base| 0))} is VALID [2022-02-20 23:38:21,284 INFO L290 TraceCheckUtils]: 14: Hoare triple {46559#true} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {46559#true} is VALID [2022-02-20 23:38:21,284 INFO L290 TraceCheckUtils]: 13: Hoare triple {46559#true} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {46559#true} is VALID [2022-02-20 23:38:21,284 INFO L290 TraceCheckUtils]: 12: Hoare triple {46559#true} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {46559#true} is VALID [2022-02-20 23:38:21,284 INFO L290 TraceCheckUtils]: 11: Hoare triple {46559#true} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {46559#true} is VALID [2022-02-20 23:38:21,284 INFO L290 TraceCheckUtils]: 10: Hoare triple {46559#true} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {46559#true} is VALID [2022-02-20 23:38:21,284 INFO L290 TraceCheckUtils]: 9: Hoare triple {46559#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {46559#true} is VALID [2022-02-20 23:38:21,285 INFO L290 TraceCheckUtils]: 8: Hoare triple {46559#true} assume 1 == #valid[~input#1.base]; {46559#true} is VALID [2022-02-20 23:38:21,285 INFO L290 TraceCheckUtils]: 7: Hoare triple {46559#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {46559#true} is VALID [2022-02-20 23:38:21,285 INFO L290 TraceCheckUtils]: 6: Hoare triple {46559#true} assume 1 == #valid[#t~mem3#1.base]; {46559#true} is VALID [2022-02-20 23:38:21,285 INFO L290 TraceCheckUtils]: 5: Hoare triple {46559#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {46559#true} is VALID [2022-02-20 23:38:21,285 INFO L290 TraceCheckUtils]: 4: Hoare triple {46559#true} assume !!(~i~0#1 < 2); {46559#true} is VALID [2022-02-20 23:38:21,285 INFO L290 TraceCheckUtils]: 3: Hoare triple {46559#true} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {46559#true} is VALID [2022-02-20 23:38:21,285 INFO L272 TraceCheckUtils]: 2: Hoare triple {46559#true} call parse_input(3, 0); {46559#true} is VALID [2022-02-20 23:38:21,285 INFO L290 TraceCheckUtils]: 1: Hoare triple {46559#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {46559#true} is VALID [2022-02-20 23:38:21,286 INFO L290 TraceCheckUtils]: 0: Hoare triple {46559#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {46559#true} is VALID [2022-02-20 23:38:21,286 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 19 proven. 7 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:21,286 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1292170603] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:21,286 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:38:21,286 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 6, 6] total 11 [2022-02-20 23:38:21,286 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [679397872] [2022-02-20 23:38:21,287 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:21,287 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 6.636363636363637) internal successors, (73), 10 states have internal predecessors, (73), 3 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-02-20 23:38:21,287 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:21,287 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 6.636363636363637) internal successors, (73), 10 states have internal predecessors, (73), 3 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:21,334 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 82 edges. 82 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:21,334 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:38:21,335 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:21,335 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:38:21,335 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=84, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:38:21,335 INFO L87 Difference]: Start difference. First operand 372 states and 463 transitions. Second operand has 11 states, 11 states have (on average 6.636363636363637) internal successors, (73), 10 states have internal predecessors, (73), 3 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:21,884 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:21,884 INFO L93 Difference]: Finished difference Result 337 states and 403 transitions. [2022-02-20 23:38:21,884 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:38:21,884 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 6.636363636363637) internal successors, (73), 10 states have internal predecessors, (73), 3 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) Word has length 48 [2022-02-20 23:38:21,884 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:21,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 6.636363636363637) internal successors, (73), 10 states have internal predecessors, (73), 3 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:21,885 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 95 transitions. [2022-02-20 23:38:21,885 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 6.636363636363637) internal successors, (73), 10 states have internal predecessors, (73), 3 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:21,886 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 95 transitions. [2022-02-20 23:38:21,886 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 95 transitions. [2022-02-20 23:38:21,970 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 95 edges. 95 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:21,974 INFO L225 Difference]: With dead ends: 337 [2022-02-20 23:38:21,974 INFO L226 Difference]: Without dead ends: 337 [2022-02-20 23:38:21,975 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 98 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=103, Invalid=277, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:38:21,975 INFO L933 BasicCegarLoop]: 30 mSDtfsCounter, 150 mSDsluCounter, 117 mSDsCounter, 0 mSdLazyCounter, 279 mSolverCounterSat, 29 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 150 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 308 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 29 IncrementalHoareTripleChecker+Valid, 279 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:21,976 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [150 Valid, 147 Invalid, 308 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [29 Valid, 279 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:38:21,976 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 337 states. [2022-02-20 23:38:21,983 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 337 to 324. [2022-02-20 23:38:21,983 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:21,984 INFO L82 GeneralOperation]: Start isEquivalent. First operand 337 states. Second operand has 324 states, 292 states have (on average 1.2602739726027397) internal successors, (368), 307 states have internal predecessors, (368), 8 states have call successors, (8), 8 states have call predecessors, (8), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 23:38:21,984 INFO L74 IsIncluded]: Start isIncluded. First operand 337 states. Second operand has 324 states, 292 states have (on average 1.2602739726027397) internal successors, (368), 307 states have internal predecessors, (368), 8 states have call successors, (8), 8 states have call predecessors, (8), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 23:38:21,984 INFO L87 Difference]: Start difference. First operand 337 states. Second operand has 324 states, 292 states have (on average 1.2602739726027397) internal successors, (368), 307 states have internal predecessors, (368), 8 states have call successors, (8), 8 states have call predecessors, (8), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 23:38:21,988 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:21,988 INFO L93 Difference]: Finished difference Result 337 states and 403 transitions. [2022-02-20 23:38:21,988 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 403 transitions. [2022-02-20 23:38:21,989 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:21,989 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:21,990 INFO L74 IsIncluded]: Start isIncluded. First operand has 324 states, 292 states have (on average 1.2602739726027397) internal successors, (368), 307 states have internal predecessors, (368), 8 states have call successors, (8), 8 states have call predecessors, (8), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) Second operand 337 states. [2022-02-20 23:38:21,990 INFO L87 Difference]: Start difference. First operand has 324 states, 292 states have (on average 1.2602739726027397) internal successors, (368), 307 states have internal predecessors, (368), 8 states have call successors, (8), 8 states have call predecessors, (8), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) Second operand 337 states. [2022-02-20 23:38:21,994 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:21,995 INFO L93 Difference]: Finished difference Result 337 states and 403 transitions. [2022-02-20 23:38:21,995 INFO L276 IsEmpty]: Start isEmpty. Operand 337 states and 403 transitions. [2022-02-20 23:38:21,995 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:21,995 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:21,996 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:21,996 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:21,996 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 324 states, 292 states have (on average 1.2602739726027397) internal successors, (368), 307 states have internal predecessors, (368), 8 states have call successors, (8), 8 states have call predecessors, (8), 13 states have return successors, (17), 8 states have call predecessors, (17), 8 states have call successors, (17) [2022-02-20 23:38:22,000 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 324 states to 324 states and 393 transitions. [2022-02-20 23:38:22,001 INFO L78 Accepts]: Start accepts. Automaton has 324 states and 393 transitions. Word has length 48 [2022-02-20 23:38:22,001 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:22,001 INFO L470 AbstractCegarLoop]: Abstraction has 324 states and 393 transitions. [2022-02-20 23:38:22,001 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 6.636363636363637) internal successors, (73), 10 states have internal predecessors, (73), 3 states have call successors, (6), 5 states have call predecessors, (6), 3 states have return successors, (3), 2 states have call predecessors, (3), 2 states have call successors, (3) [2022-02-20 23:38:22,001 INFO L276 IsEmpty]: Start isEmpty. Operand 324 states and 393 transitions. [2022-02-20 23:38:22,002 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 49 [2022-02-20 23:38:22,002 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:22,002 INFO L514 BasicCegarLoop]: trace histogram [4, 3, 3, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:22,021 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (17)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:22,215 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 17 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable26 [2022-02-20 23:38:22,215 INFO L402 AbstractCegarLoop]: === Iteration 28 === Targeting parse_inputErr1REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:22,216 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:22,216 INFO L85 PathProgramCache]: Analyzing trace with hash -377504153, now seen corresponding path program 1 times [2022-02-20 23:38:22,216 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:22,216 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1987250694] [2022-02-20 23:38:22,216 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:22,216 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:22,234 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:22,299 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:22,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:22,318 INFO L290 TraceCheckUtils]: 0: Hoare triple {48294#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,318 INFO L290 TraceCheckUtils]: 1: Hoare triple {48295#(= |old(#length)| |#length|)} assume !!(~i~0#1 < 2); {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,318 INFO L290 TraceCheckUtils]: 2: Hoare triple {48295#(= |old(#length)| |#length|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,319 INFO L290 TraceCheckUtils]: 3: Hoare triple {48295#(= |old(#length)| |#length|)} assume 1 == #valid[#t~mem3#1.base]; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,319 INFO L290 TraceCheckUtils]: 4: Hoare triple {48295#(= |old(#length)| |#length|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,319 INFO L290 TraceCheckUtils]: 5: Hoare triple {48295#(= |old(#length)| |#length|)} assume 1 == #valid[~input#1.base]; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,319 INFO L290 TraceCheckUtils]: 6: Hoare triple {48295#(= |old(#length)| |#length|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,320 INFO L290 TraceCheckUtils]: 7: Hoare triple {48295#(= |old(#length)| |#length|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,320 INFO L290 TraceCheckUtils]: 8: Hoare triple {48295#(= |old(#length)| |#length|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,320 INFO L290 TraceCheckUtils]: 9: Hoare triple {48295#(= |old(#length)| |#length|)} assume !!(~i~0#1 < 2); {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,320 INFO L290 TraceCheckUtils]: 10: Hoare triple {48295#(= |old(#length)| |#length|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,321 INFO L290 TraceCheckUtils]: 11: Hoare triple {48295#(= |old(#length)| |#length|)} assume 1 == #valid[#t~mem3#1.base]; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,321 INFO L290 TraceCheckUtils]: 12: Hoare triple {48295#(= |old(#length)| |#length|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,321 INFO L290 TraceCheckUtils]: 13: Hoare triple {48295#(= |old(#length)| |#length|)} assume 1 == #valid[~input#1.base]; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,321 INFO L290 TraceCheckUtils]: 14: Hoare triple {48295#(= |old(#length)| |#length|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,322 INFO L290 TraceCheckUtils]: 15: Hoare triple {48295#(= |old(#length)| |#length|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,322 INFO L290 TraceCheckUtils]: 16: Hoare triple {48295#(= |old(#length)| |#length|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,322 INFO L290 TraceCheckUtils]: 17: Hoare triple {48295#(= |old(#length)| |#length|)} assume !(~i~0#1 < 2); {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,323 INFO L290 TraceCheckUtils]: 18: Hoare triple {48295#(= |old(#length)| |#length|)} assume true; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,323 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {48295#(= |old(#length)| |#length|)} {48251#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,323 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 23:38:22,329 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:22,363 INFO L290 TraceCheckUtils]: 0: Hoare triple {48294#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,363 INFO L290 TraceCheckUtils]: 1: Hoare triple {48295#(= |old(#length)| |#length|)} assume !!(~i~0#1 < 2); {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,364 INFO L290 TraceCheckUtils]: 2: Hoare triple {48295#(= |old(#length)| |#length|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,364 INFO L290 TraceCheckUtils]: 3: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,364 INFO L290 TraceCheckUtils]: 4: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,365 INFO L290 TraceCheckUtils]: 5: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,365 INFO L290 TraceCheckUtils]: 6: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,365 INFO L290 TraceCheckUtils]: 7: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,366 INFO L290 TraceCheckUtils]: 8: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,366 INFO L290 TraceCheckUtils]: 9: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,367 INFO L290 TraceCheckUtils]: 10: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,367 INFO L290 TraceCheckUtils]: 11: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,368 INFO L290 TraceCheckUtils]: 12: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:22,368 INFO L290 TraceCheckUtils]: 13: Hoare triple {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:22,368 INFO L290 TraceCheckUtils]: 14: Hoare triple {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:22,369 INFO L290 TraceCheckUtils]: 15: Hoare triple {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} is VALID [2022-02-20 23:38:22,369 INFO L290 TraceCheckUtils]: 16: Hoare triple {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} assume { :end_inline_c1 } true; {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} is VALID [2022-02-20 23:38:22,369 INFO L290 TraceCheckUtils]: 17: Hoare triple {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} is VALID [2022-02-20 23:38:22,370 INFO L290 TraceCheckUtils]: 18: Hoare triple {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} assume true; {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} is VALID [2022-02-20 23:38:22,370 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} #109#return; {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,371 INFO L290 TraceCheckUtils]: 0: Hoare triple {48249#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {48251#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,372 INFO L290 TraceCheckUtils]: 1: Hoare triple {48251#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {48251#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,372 INFO L272 TraceCheckUtils]: 2: Hoare triple {48251#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(3, 0); {48294#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:22,373 INFO L290 TraceCheckUtils]: 3: Hoare triple {48294#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,373 INFO L290 TraceCheckUtils]: 4: Hoare triple {48295#(= |old(#length)| |#length|)} assume !!(~i~0#1 < 2); {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,373 INFO L290 TraceCheckUtils]: 5: Hoare triple {48295#(= |old(#length)| |#length|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,373 INFO L290 TraceCheckUtils]: 6: Hoare triple {48295#(= |old(#length)| |#length|)} assume 1 == #valid[#t~mem3#1.base]; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,374 INFO L290 TraceCheckUtils]: 7: Hoare triple {48295#(= |old(#length)| |#length|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,374 INFO L290 TraceCheckUtils]: 8: Hoare triple {48295#(= |old(#length)| |#length|)} assume 1 == #valid[~input#1.base]; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,374 INFO L290 TraceCheckUtils]: 9: Hoare triple {48295#(= |old(#length)| |#length|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,374 INFO L290 TraceCheckUtils]: 10: Hoare triple {48295#(= |old(#length)| |#length|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,375 INFO L290 TraceCheckUtils]: 11: Hoare triple {48295#(= |old(#length)| |#length|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,375 INFO L290 TraceCheckUtils]: 12: Hoare triple {48295#(= |old(#length)| |#length|)} assume !!(~i~0#1 < 2); {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,375 INFO L290 TraceCheckUtils]: 13: Hoare triple {48295#(= |old(#length)| |#length|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,376 INFO L290 TraceCheckUtils]: 14: Hoare triple {48295#(= |old(#length)| |#length|)} assume 1 == #valid[#t~mem3#1.base]; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,376 INFO L290 TraceCheckUtils]: 15: Hoare triple {48295#(= |old(#length)| |#length|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,376 INFO L290 TraceCheckUtils]: 16: Hoare triple {48295#(= |old(#length)| |#length|)} assume 1 == #valid[~input#1.base]; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,377 INFO L290 TraceCheckUtils]: 17: Hoare triple {48295#(= |old(#length)| |#length|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,377 INFO L290 TraceCheckUtils]: 18: Hoare triple {48295#(= |old(#length)| |#length|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,377 INFO L290 TraceCheckUtils]: 19: Hoare triple {48295#(= |old(#length)| |#length|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,377 INFO L290 TraceCheckUtils]: 20: Hoare triple {48295#(= |old(#length)| |#length|)} assume !(~i~0#1 < 2); {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,378 INFO L290 TraceCheckUtils]: 21: Hoare triple {48295#(= |old(#length)| |#length|)} assume true; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,378 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {48295#(= |old(#length)| |#length|)} {48251#(and (= 6 |~#commands~0.base|) (= (select |#length| 6) 18) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,379 INFO L272 TraceCheckUtils]: 23: Hoare triple {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} call parse_input(4, 0); {48294#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:22,379 INFO L290 TraceCheckUtils]: 24: Hoare triple {48294#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,379 INFO L290 TraceCheckUtils]: 25: Hoare triple {48295#(= |old(#length)| |#length|)} assume !!(~i~0#1 < 2); {48295#(= |old(#length)| |#length|)} is VALID [2022-02-20 23:38:22,380 INFO L290 TraceCheckUtils]: 26: Hoare triple {48295#(= |old(#length)| |#length|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,380 INFO L290 TraceCheckUtils]: 27: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,381 INFO L290 TraceCheckUtils]: 28: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,381 INFO L290 TraceCheckUtils]: 29: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,381 INFO L290 TraceCheckUtils]: 30: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,382 INFO L290 TraceCheckUtils]: 32: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,382 INFO L290 TraceCheckUtils]: 33: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,383 INFO L290 TraceCheckUtils]: 34: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,383 INFO L290 TraceCheckUtils]: 35: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:22,384 INFO L290 TraceCheckUtils]: 36: Hoare triple {48296#(and (= |old(#length)| |#length|) (= (select |#valid| |~#commands~0.base|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:22,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:22,384 INFO L290 TraceCheckUtils]: 38: Hoare triple {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:22,385 INFO L290 TraceCheckUtils]: 39: Hoare triple {48297#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} is VALID [2022-02-20 23:38:22,385 INFO L290 TraceCheckUtils]: 40: Hoare triple {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} assume { :end_inline_c1 } true; {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} is VALID [2022-02-20 23:38:22,385 INFO L290 TraceCheckUtils]: 41: Hoare triple {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} is VALID [2022-02-20 23:38:22,385 INFO L290 TraceCheckUtils]: 42: Hoare triple {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} assume true; {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} is VALID [2022-02-20 23:38:22,386 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {48298#(= (select |#length| |~#commands~0.base|) (select |old(#length)| |~#commands~0.base|))} {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} #109#return; {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,386 INFO L272 TraceCheckUtils]: 44: Hoare triple {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} call parse_input(5, 0); {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,387 INFO L290 TraceCheckUtils]: 45: Hoare triple {48272#(and (<= 0 |~#commands~0.offset|) (= 18 (select |#length| |~#commands~0.base|)) (<= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {48293#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,387 INFO L290 TraceCheckUtils]: 46: Hoare triple {48293#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume !!(~i~0#1 < 2); {48293#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:22,388 INFO L290 TraceCheckUtils]: 47: Hoare triple {48293#(and (= (+ (select |#length| |~#commands~0.base|) (- 18)) 0) (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= |~#commands~0.offset| 0))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {48250#false} is VALID [2022-02-20 23:38:22,388 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 10 proven. 11 refuted. 0 times theorem prover too weak. 16 trivial. 0 not checked. [2022-02-20 23:38:22,388 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:22,388 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1987250694] [2022-02-20 23:38:22,388 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1987250694] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:22,389 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1916354774] [2022-02-20 23:38:22,389 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:22,389 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:22,389 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:22,392 INFO L229 MonitoredProcess]: Starting monitored process 18 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:38:22,393 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Waiting until timeout for monitored process [2022-02-20 23:38:22,457 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:22,458 INFO L263 TraceCheckSpWp]: Trace formula consists of 283 conjuncts, 23 conjunts are in the unsatisfiable core [2022-02-20 23:38:22,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:22,468 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:23,056 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:23,057 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 14 [2022-02-20 23:38:23,122 INFO L290 TraceCheckUtils]: 0: Hoare triple {48249#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {48302#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:23,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {48302#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {48302#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:23,123 INFO L272 TraceCheckUtils]: 2: Hoare triple {48302#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} call parse_input(3, 0); {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,124 INFO L290 TraceCheckUtils]: 3: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,125 INFO L290 TraceCheckUtils]: 8: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,126 INFO L290 TraceCheckUtils]: 10: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,127 INFO L290 TraceCheckUtils]: 11: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,128 INFO L290 TraceCheckUtils]: 14: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,128 INFO L290 TraceCheckUtils]: 15: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,129 INFO L290 TraceCheckUtils]: 17: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,129 INFO L290 TraceCheckUtils]: 18: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,130 INFO L290 TraceCheckUtils]: 20: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !(~i~0#1 < 2); {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,130 INFO L290 TraceCheckUtils]: 21: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume true; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,131 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} {48302#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} #107#return; {48302#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:23,131 INFO L272 TraceCheckUtils]: 23: Hoare triple {48302#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} call parse_input(4, 0); {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,132 INFO L290 TraceCheckUtils]: 24: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,132 INFO L290 TraceCheckUtils]: 25: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,133 INFO L290 TraceCheckUtils]: 26: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,133 INFO L290 TraceCheckUtils]: 27: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,133 INFO L290 TraceCheckUtils]: 28: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,134 INFO L290 TraceCheckUtils]: 29: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,134 INFO L290 TraceCheckUtils]: 30: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,134 INFO L290 TraceCheckUtils]: 31: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,135 INFO L290 TraceCheckUtils]: 32: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,135 INFO L290 TraceCheckUtils]: 33: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,136 INFO L290 TraceCheckUtils]: 34: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,136 INFO L290 TraceCheckUtils]: 35: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:23,137 INFO L290 TraceCheckUtils]: 36: Hoare triple {48309#(and (= |old(#length)| |#length|) (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} is VALID [2022-02-20 23:38:23,137 INFO L290 TraceCheckUtils]: 37: Hoare triple {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} is VALID [2022-02-20 23:38:23,138 INFO L290 TraceCheckUtils]: 38: Hoare triple {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} is VALID [2022-02-20 23:38:23,138 INFO L290 TraceCheckUtils]: 39: Hoare triple {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} is VALID [2022-02-20 23:38:23,139 INFO L290 TraceCheckUtils]: 40: Hoare triple {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} assume { :end_inline_c1 } true; {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} is VALID [2022-02-20 23:38:23,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} is VALID [2022-02-20 23:38:23,140 INFO L290 TraceCheckUtils]: 42: Hoare triple {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} assume true; {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} is VALID [2022-02-20 23:38:23,141 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {48412#(and (= 6 |~#commands~0.base|) (= |~#commands~0.offset| 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_135 Int)) (and (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_135)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))))} {48302#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= (select |#valid| 6) 1))} #109#return; {48434#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:23,141 INFO L272 TraceCheckUtils]: 44: Hoare triple {48434#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} call parse_input(5, 0); {48434#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:23,142 INFO L290 TraceCheckUtils]: 45: Hoare triple {48434#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {48441#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:23,142 INFO L290 TraceCheckUtils]: 46: Hoare triple {48441#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume !!(~i~0#1 < 2); {48441#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:23,143 INFO L290 TraceCheckUtils]: 47: Hoare triple {48441#(and (= 6 |~#commands~0.base|) (<= 18 (select |#length| 6)) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {48250#false} is VALID [2022-02-20 23:38:23,143 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 0 proven. 11 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 23:38:23,143 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:23,314 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1916354774] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:23,314 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:23,314 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 5] total 13 [2022-02-20 23:38:23,315 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1576559125] [2022-02-20 23:38:23,315 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:23,315 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 4.357142857142857) internal successors, (61), 11 states have internal predecessors, (61), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 48 [2022-02-20 23:38:23,315 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:23,316 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 14 states have (on average 4.357142857142857) internal successors, (61), 11 states have internal predecessors, (61), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:23,370 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:23,370 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:38:23,371 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:23,371 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:38:23,371 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=55, Invalid=251, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:38:23,371 INFO L87 Difference]: Start difference. First operand 324 states and 393 transitions. Second operand has 15 states, 14 states have (on average 4.357142857142857) internal successors, (61), 11 states have internal predecessors, (61), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:24,294 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:24,294 INFO L93 Difference]: Finished difference Result 352 states and 407 transitions. [2022-02-20 23:38:24,294 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 18 states. [2022-02-20 23:38:24,295 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 14 states have (on average 4.357142857142857) internal successors, (61), 11 states have internal predecessors, (61), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) Word has length 48 [2022-02-20 23:38:24,295 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:24,295 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 4.357142857142857) internal successors, (61), 11 states have internal predecessors, (61), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:24,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 142 transitions. [2022-02-20 23:38:24,296 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 14 states have (on average 4.357142857142857) internal successors, (61), 11 states have internal predecessors, (61), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:24,296 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 18 states to 18 states and 142 transitions. [2022-02-20 23:38:24,296 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 18 states and 142 transitions. [2022-02-20 23:38:24,404 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 142 edges. 142 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:24,409 INFO L225 Difference]: With dead ends: 352 [2022-02-20 23:38:24,409 INFO L226 Difference]: Without dead ends: 352 [2022-02-20 23:38:24,409 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 48 SyntacticMatches, 2 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 142 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=184, Invalid=628, Unknown=0, NotChecked=0, Total=812 [2022-02-20 23:38:24,409 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 330 mSDsluCounter, 210 mSDsCounter, 0 mSdLazyCounter, 290 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 330 SdHoareTripleChecker+Valid, 247 SdHoareTripleChecker+Invalid, 416 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 290 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 74 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:24,409 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [330 Valid, 247 Invalid, 416 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 290 Invalid, 0 Unknown, 74 Unchecked, 0.2s Time] [2022-02-20 23:38:24,410 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 352 states. [2022-02-20 23:38:24,412 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 352 to 323. [2022-02-20 23:38:24,413 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:24,413 INFO L82 GeneralOperation]: Start isEquivalent. First operand 352 states. Second operand has 323 states, 292 states have (on average 1.25) internal successors, (365), 306 states have internal predecessors, (365), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:24,413 INFO L74 IsIncluded]: Start isIncluded. First operand 352 states. Second operand has 323 states, 292 states have (on average 1.25) internal successors, (365), 306 states have internal predecessors, (365), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:24,413 INFO L87 Difference]: Start difference. First operand 352 states. Second operand has 323 states, 292 states have (on average 1.25) internal successors, (365), 306 states have internal predecessors, (365), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:24,418 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:24,418 INFO L93 Difference]: Finished difference Result 352 states and 407 transitions. [2022-02-20 23:38:24,418 INFO L276 IsEmpty]: Start isEmpty. Operand 352 states and 407 transitions. [2022-02-20 23:38:24,418 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:24,419 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:24,419 INFO L74 IsIncluded]: Start isIncluded. First operand has 323 states, 292 states have (on average 1.25) internal successors, (365), 306 states have internal predecessors, (365), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 352 states. [2022-02-20 23:38:24,419 INFO L87 Difference]: Start difference. First operand has 323 states, 292 states have (on average 1.25) internal successors, (365), 306 states have internal predecessors, (365), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 352 states. [2022-02-20 23:38:24,424 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:24,424 INFO L93 Difference]: Finished difference Result 352 states and 407 transitions. [2022-02-20 23:38:24,424 INFO L276 IsEmpty]: Start isEmpty. Operand 352 states and 407 transitions. [2022-02-20 23:38:24,424 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:24,425 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:24,425 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:24,425 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:24,425 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 323 states, 292 states have (on average 1.25) internal successors, (365), 306 states have internal predecessors, (365), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:24,429 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 323 states to 323 states and 388 transitions. [2022-02-20 23:38:24,429 INFO L78 Accepts]: Start accepts. Automaton has 323 states and 388 transitions. Word has length 48 [2022-02-20 23:38:24,429 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:24,429 INFO L470 AbstractCegarLoop]: Abstraction has 323 states and 388 transitions. [2022-02-20 23:38:24,429 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 14 states have (on average 4.357142857142857) internal successors, (61), 11 states have internal predecessors, (61), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 3 states have call predecessors, (4), 3 states have call successors, (4) [2022-02-20 23:38:24,430 INFO L276 IsEmpty]: Start isEmpty. Operand 323 states and 388 transitions. [2022-02-20 23:38:24,430 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-02-20 23:38:24,430 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:24,430 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:24,446 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Ended with exit code 0 [2022-02-20 23:38:24,632 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable27 [2022-02-20 23:38:24,632 INFO L402 AbstractCegarLoop]: === Iteration 29 === Targeting parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:24,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:24,632 INFO L85 PathProgramCache]: Analyzing trace with hash -2004239674, now seen corresponding path program 1 times [2022-02-20 23:38:24,632 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:24,632 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [292119433] [2022-02-20 23:38:24,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:24,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:24,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:24,753 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:24,759 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:24,762 INFO L290 TraceCheckUtils]: 0: Hoare triple {49914#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {49868#true} is VALID [2022-02-20 23:38:24,762 INFO L290 TraceCheckUtils]: 1: Hoare triple {49868#true} assume !!(~i~0#1 < 2); {49868#true} is VALID [2022-02-20 23:38:24,762 INFO L290 TraceCheckUtils]: 2: Hoare triple {49868#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49868#true} is VALID [2022-02-20 23:38:24,762 INFO L290 TraceCheckUtils]: 3: Hoare triple {49868#true} assume 1 == #valid[#t~mem3#1.base]; {49868#true} is VALID [2022-02-20 23:38:24,762 INFO L290 TraceCheckUtils]: 4: Hoare triple {49868#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 5: Hoare triple {49868#true} assume 1 == #valid[~input#1.base]; {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 6: Hoare triple {49868#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 7: Hoare triple {49868#true} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {49868#true} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 9: Hoare triple {49868#true} assume !!(~i~0#1 < 2); {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 10: Hoare triple {49868#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 11: Hoare triple {49868#true} assume 1 == #valid[#t~mem3#1.base]; {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 12: Hoare triple {49868#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49868#true} is VALID [2022-02-20 23:38:24,763 INFO L290 TraceCheckUtils]: 13: Hoare triple {49868#true} assume 1 == #valid[~input#1.base]; {49868#true} is VALID [2022-02-20 23:38:24,764 INFO L290 TraceCheckUtils]: 14: Hoare triple {49868#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49868#true} is VALID [2022-02-20 23:38:24,764 INFO L290 TraceCheckUtils]: 15: Hoare triple {49868#true} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49868#true} is VALID [2022-02-20 23:38:24,764 INFO L290 TraceCheckUtils]: 16: Hoare triple {49868#true} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {49868#true} is VALID [2022-02-20 23:38:24,764 INFO L290 TraceCheckUtils]: 17: Hoare triple {49868#true} assume !(~i~0#1 < 2); {49868#true} is VALID [2022-02-20 23:38:24,764 INFO L290 TraceCheckUtils]: 18: Hoare triple {49868#true} assume true; {49868#true} is VALID [2022-02-20 23:38:24,764 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {49868#true} {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:24,765 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 23:38:24,774 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:24,942 INFO L290 TraceCheckUtils]: 0: Hoare triple {49914#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {49915#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:24,943 INFO L290 TraceCheckUtils]: 1: Hoare triple {49915#(= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {49915#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:24,943 INFO L290 TraceCheckUtils]: 2: Hoare triple {49915#(= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49916#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,944 INFO L290 TraceCheckUtils]: 3: Hoare triple {49916#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {49917#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,944 INFO L290 TraceCheckUtils]: 4: Hoare triple {49917#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,952 INFO L290 TraceCheckUtils]: 5: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[~input#1.base]; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,953 INFO L290 TraceCheckUtils]: 6: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,954 INFO L290 TraceCheckUtils]: 7: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,955 INFO L290 TraceCheckUtils]: 8: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,955 INFO L290 TraceCheckUtils]: 9: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,956 INFO L290 TraceCheckUtils]: 10: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {49919#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,956 INFO L290 TraceCheckUtils]: 11: Hoare triple {49919#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {49919#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,957 INFO L290 TraceCheckUtils]: 12: Hoare triple {49919#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,958 INFO L290 TraceCheckUtils]: 14: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,959 INFO L290 TraceCheckUtils]: 16: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :end_inline_c1 } true; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,959 INFO L290 TraceCheckUtils]: 17: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,960 INFO L290 TraceCheckUtils]: 18: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume true; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,961 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #109#return; {49911#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:24,962 INFO L290 TraceCheckUtils]: 0: Hoare triple {49868#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:24,962 INFO L290 TraceCheckUtils]: 1: Hoare triple {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:24,963 INFO L272 TraceCheckUtils]: 2: Hoare triple {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(3, 0); {49914#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 3: Hoare triple {49914#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 4: Hoare triple {49868#true} assume !!(~i~0#1 < 2); {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 5: Hoare triple {49868#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 6: Hoare triple {49868#true} assume 1 == #valid[#t~mem3#1.base]; {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 7: Hoare triple {49868#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 8: Hoare triple {49868#true} assume 1 == #valid[~input#1.base]; {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 9: Hoare triple {49868#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 10: Hoare triple {49868#true} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 11: Hoare triple {49868#true} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 12: Hoare triple {49868#true} assume !!(~i~0#1 < 2); {49868#true} is VALID [2022-02-20 23:38:24,965 INFO L290 TraceCheckUtils]: 13: Hoare triple {49868#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49868#true} is VALID [2022-02-20 23:38:24,966 INFO L290 TraceCheckUtils]: 14: Hoare triple {49868#true} assume 1 == #valid[#t~mem3#1.base]; {49868#true} is VALID [2022-02-20 23:38:24,966 INFO L290 TraceCheckUtils]: 15: Hoare triple {49868#true} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49868#true} is VALID [2022-02-20 23:38:24,966 INFO L290 TraceCheckUtils]: 16: Hoare triple {49868#true} assume 1 == #valid[~input#1.base]; {49868#true} is VALID [2022-02-20 23:38:24,966 INFO L290 TraceCheckUtils]: 17: Hoare triple {49868#true} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49868#true} is VALID [2022-02-20 23:38:24,966 INFO L290 TraceCheckUtils]: 18: Hoare triple {49868#true} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49868#true} is VALID [2022-02-20 23:38:24,966 INFO L290 TraceCheckUtils]: 19: Hoare triple {49868#true} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {49868#true} is VALID [2022-02-20 23:38:24,966 INFO L290 TraceCheckUtils]: 20: Hoare triple {49868#true} assume !(~i~0#1 < 2); {49868#true} is VALID [2022-02-20 23:38:24,966 INFO L290 TraceCheckUtils]: 21: Hoare triple {49868#true} assume true; {49868#true} is VALID [2022-02-20 23:38:24,967 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {49868#true} {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:24,967 INFO L272 TraceCheckUtils]: 23: Hoare triple {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(4, 0); {49914#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:24,968 INFO L290 TraceCheckUtils]: 24: Hoare triple {49914#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {49915#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:24,968 INFO L290 TraceCheckUtils]: 25: Hoare triple {49915#(= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {49915#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:24,969 INFO L290 TraceCheckUtils]: 26: Hoare triple {49915#(= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49916#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,969 INFO L290 TraceCheckUtils]: 27: Hoare triple {49916#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {49917#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,970 INFO L290 TraceCheckUtils]: 28: Hoare triple {49917#(and (or (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (+ (* (- 1) |parse_input_#t~mem3#1.offset|) (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,971 INFO L290 TraceCheckUtils]: 29: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[~input#1.base]; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,971 INFO L290 TraceCheckUtils]: 30: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,972 INFO L290 TraceCheckUtils]: 31: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,973 INFO L290 TraceCheckUtils]: 32: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,973 INFO L290 TraceCheckUtils]: 33: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:24,974 INFO L290 TraceCheckUtils]: 34: Hoare triple {49918#(and (or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (not (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0))) (or (< 0 (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0)) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {49919#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,974 INFO L290 TraceCheckUtils]: 35: Hoare triple {49919#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {49919#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,975 INFO L290 TraceCheckUtils]: 36: Hoare triple {49919#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,976 INFO L290 TraceCheckUtils]: 37: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,976 INFO L290 TraceCheckUtils]: 38: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,976 INFO L290 TraceCheckUtils]: 39: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,977 INFO L290 TraceCheckUtils]: 40: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :end_inline_c1 } true; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,977 INFO L290 TraceCheckUtils]: 41: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,978 INFO L290 TraceCheckUtils]: 42: Hoare triple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} assume true; {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:24,979 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {49920#(or (and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)))) (<= 1 |~#commands~0.offset|))} {49870#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #109#return; {49911#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:24,979 INFO L272 TraceCheckUtils]: 44: Hoare triple {49911#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(5, 0); {49911#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:24,980 INFO L290 TraceCheckUtils]: 45: Hoare triple {49911#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0)) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) 0) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {49912#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} is VALID [2022-02-20 23:38:24,980 INFO L290 TraceCheckUtils]: 46: Hoare triple {49912#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} assume !!(~i~0#1 < 2); {49912#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} is VALID [2022-02-20 23:38:24,981 INFO L290 TraceCheckUtils]: 47: Hoare triple {49912#(and (<= 0 (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (<= (+ (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)) 1) (select |#length| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|)))))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49913#(and (<= (+ |parse_input_#t~mem3#1.offset| 1) (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} is VALID [2022-02-20 23:38:24,981 INFO L290 TraceCheckUtils]: 48: Hoare triple {49913#(and (<= (+ |parse_input_#t~mem3#1.offset| 1) (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} assume 1 == #valid[#t~mem3#1.base]; {49913#(and (<= (+ |parse_input_#t~mem3#1.offset| 1) (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} is VALID [2022-02-20 23:38:24,982 INFO L290 TraceCheckUtils]: 49: Hoare triple {49913#(and (<= (+ |parse_input_#t~mem3#1.offset| 1) (select |#length| |parse_input_#t~mem3#1.base|)) (<= 0 |parse_input_#t~mem3#1.offset|))} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {49869#false} is VALID [2022-02-20 23:38:24,982 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 28 proven. 4 refuted. 0 times theorem prover too weak. 11 trivial. 0 not checked. [2022-02-20 23:38:24,982 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:24,982 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [292119433] [2022-02-20 23:38:24,982 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [292119433] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:24,982 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1605529011] [2022-02-20 23:38:24,982 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:24,982 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:24,982 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:24,984 INFO L229 MonitoredProcess]: Starting monitored process 19 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:38:24,984 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Waiting until timeout for monitored process [2022-02-20 23:38:25,050 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:25,051 INFO L263 TraceCheckSpWp]: Trace formula consists of 293 conjuncts, 29 conjunts are in the unsatisfiable core [2022-02-20 23:38:25,062 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:25,063 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:25,869 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:25,870 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 14 [2022-02-20 23:38:25,979 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:38:25,985 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:38:26,008 INFO L290 TraceCheckUtils]: 0: Hoare triple {49868#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {49924#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,009 INFO L290 TraceCheckUtils]: 1: Hoare triple {49924#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {49924#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,009 INFO L272 TraceCheckUtils]: 2: Hoare triple {49924#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(3, 0); {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,010 INFO L290 TraceCheckUtils]: 3: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,010 INFO L290 TraceCheckUtils]: 4: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,011 INFO L290 TraceCheckUtils]: 5: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,011 INFO L290 TraceCheckUtils]: 6: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,012 INFO L290 TraceCheckUtils]: 7: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,012 INFO L290 TraceCheckUtils]: 8: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,012 INFO L290 TraceCheckUtils]: 9: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,013 INFO L290 TraceCheckUtils]: 10: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,013 INFO L290 TraceCheckUtils]: 11: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,014 INFO L290 TraceCheckUtils]: 12: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,014 INFO L290 TraceCheckUtils]: 13: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,014 INFO L290 TraceCheckUtils]: 14: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,015 INFO L290 TraceCheckUtils]: 15: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,015 INFO L290 TraceCheckUtils]: 16: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,016 INFO L290 TraceCheckUtils]: 17: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,016 INFO L290 TraceCheckUtils]: 18: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,016 INFO L290 TraceCheckUtils]: 19: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,017 INFO L290 TraceCheckUtils]: 20: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !(~i~0#1 < 2); {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,017 INFO L290 TraceCheckUtils]: 21: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume true; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,018 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} {49924#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} #107#return; {49924#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,019 INFO L272 TraceCheckUtils]: 23: Hoare triple {49924#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(4, 0); {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,019 INFO L290 TraceCheckUtils]: 24: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,020 INFO L290 TraceCheckUtils]: 25: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,020 INFO L290 TraceCheckUtils]: 26: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,020 INFO L290 TraceCheckUtils]: 27: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,021 INFO L290 TraceCheckUtils]: 28: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,021 INFO L290 TraceCheckUtils]: 29: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,022 INFO L290 TraceCheckUtils]: 30: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,022 INFO L290 TraceCheckUtils]: 31: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,023 INFO L290 TraceCheckUtils]: 32: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,023 INFO L290 TraceCheckUtils]: 33: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,023 INFO L290 TraceCheckUtils]: 34: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,024 INFO L290 TraceCheckUtils]: 35: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:26,025 INFO L290 TraceCheckUtils]: 36: Hoare triple {49931#(and (= |old(#length)| |#length|) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,028 INFO L290 TraceCheckUtils]: 37: Hoare triple {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,029 INFO L290 TraceCheckUtils]: 38: Hoare triple {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,034 INFO L290 TraceCheckUtils]: 39: Hoare triple {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,035 INFO L290 TraceCheckUtils]: 40: Hoare triple {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_c1 } true; {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,039 INFO L290 TraceCheckUtils]: 42: Hoare triple {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume true; {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,040 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {50034#(and (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (exists ((|parse_input_c1_~x~0#1.base| Int) (v_ArrVal_145 Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= |#length| (store |old(#length)| |parse_input_c1_~x~0#1.base| v_ArrVal_145)))) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} {49924#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} #109#return; {50056#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,044 INFO L272 TraceCheckUtils]: 44: Hoare triple {50056#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(5, 0); {50056#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,046 INFO L290 TraceCheckUtils]: 45: Hoare triple {50056#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {50063#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,047 INFO L290 TraceCheckUtils]: 46: Hoare triple {50063#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !!(~i~0#1 < 2); {50063#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:26,047 INFO L290 TraceCheckUtils]: 47: Hoare triple {50063#(and (<= 3 (select |#length| 1)) (= (select (select |#memory_$Pointer$.offset| |~#commands~0.base|) |~#commands~0.offset|) 0) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {50070#(and (<= 3 (select |#length| 1)) (= |parse_input_#t~mem3#1.offset| 0) (= |parse_input_#t~mem3#1.base| 1))} is VALID [2022-02-20 23:38:26,048 INFO L290 TraceCheckUtils]: 48: Hoare triple {50070#(and (<= 3 (select |#length| 1)) (= |parse_input_#t~mem3#1.offset| 0) (= |parse_input_#t~mem3#1.base| 1))} assume 1 == #valid[#t~mem3#1.base]; {50070#(and (<= 3 (select |#length| 1)) (= |parse_input_#t~mem3#1.offset| 0) (= |parse_input_#t~mem3#1.base| 1))} is VALID [2022-02-20 23:38:26,048 INFO L290 TraceCheckUtils]: 49: Hoare triple {50070#(and (<= 3 (select |#length| 1)) (= |parse_input_#t~mem3#1.offset| 0) (= |parse_input_#t~mem3#1.base| 1))} assume !(#t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0); {49869#false} is VALID [2022-02-20 23:38:26,049 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 23:38:26,049 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:26,265 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1605529011] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:26,266 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:26,266 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 6] total 18 [2022-02-20 23:38:26,266 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [147753921] [2022-02-20 23:38:26,266 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:26,266 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 3.7222222222222223) internal successors, (67), 16 states have internal predecessors, (67), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 50 [2022-02-20 23:38:26,267 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:26,267 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 3.7222222222222223) internal successors, (67), 16 states have internal predecessors, (67), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:26,331 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:38:26,331 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 23:38:26,331 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:26,332 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 23:38:26,332 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=79, Invalid=383, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:38:26,332 INFO L87 Difference]: Start difference. First operand 323 states and 388 transitions. Second operand has 19 states, 18 states have (on average 3.7222222222222223) internal successors, (67), 16 states have internal predecessors, (67), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:28,405 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:28,405 INFO L93 Difference]: Finished difference Result 393 states and 443 transitions. [2022-02-20 23:38:28,406 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 29 states. [2022-02-20 23:38:28,406 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 3.7222222222222223) internal successors, (67), 16 states have internal predecessors, (67), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) Word has length 50 [2022-02-20 23:38:28,406 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:28,406 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 3.7222222222222223) internal successors, (67), 16 states have internal predecessors, (67), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:28,407 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 188 transitions. [2022-02-20 23:38:28,407 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 3.7222222222222223) internal successors, (67), 16 states have internal predecessors, (67), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:28,408 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 29 states to 29 states and 188 transitions. [2022-02-20 23:38:28,408 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 29 states and 188 transitions. [2022-02-20 23:38:28,572 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 188 edges. 188 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:28,578 INFO L225 Difference]: With dead ends: 393 [2022-02-20 23:38:28,578 INFO L226 Difference]: Without dead ends: 393 [2022-02-20 23:38:28,579 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 103 GetRequests, 60 SyntacticMatches, 1 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 443 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=430, Invalid=1462, Unknown=0, NotChecked=0, Total=1892 [2022-02-20 23:38:28,582 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 483 mSDsluCounter, 231 mSDsCounter, 0 mSdLazyCounter, 500 mSolverCounterSat, 78 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 486 SdHoareTripleChecker+Valid, 265 SdHoareTripleChecker+Invalid, 657 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 78 IncrementalHoareTripleChecker+Valid, 500 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 79 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:28,582 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [486 Valid, 265 Invalid, 657 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [78 Valid, 500 Invalid, 0 Unknown, 79 Unchecked, 0.5s Time] [2022-02-20 23:38:28,582 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 393 states. [2022-02-20 23:38:28,585 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 393 to 323. [2022-02-20 23:38:28,585 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:28,586 INFO L82 GeneralOperation]: Start isEquivalent. First operand 393 states. Second operand has 323 states, 292 states have (on average 1.2397260273972603) internal successors, (362), 306 states have internal predecessors, (362), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:28,586 INFO L74 IsIncluded]: Start isIncluded. First operand 393 states. Second operand has 323 states, 292 states have (on average 1.2397260273972603) internal successors, (362), 306 states have internal predecessors, (362), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:28,586 INFO L87 Difference]: Start difference. First operand 393 states. Second operand has 323 states, 292 states have (on average 1.2397260273972603) internal successors, (362), 306 states have internal predecessors, (362), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:28,592 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:28,592 INFO L93 Difference]: Finished difference Result 393 states and 443 transitions. [2022-02-20 23:38:28,592 INFO L276 IsEmpty]: Start isEmpty. Operand 393 states and 443 transitions. [2022-02-20 23:38:28,593 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:28,593 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:28,593 INFO L74 IsIncluded]: Start isIncluded. First operand has 323 states, 292 states have (on average 1.2397260273972603) internal successors, (362), 306 states have internal predecessors, (362), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 393 states. [2022-02-20 23:38:28,594 INFO L87 Difference]: Start difference. First operand has 323 states, 292 states have (on average 1.2397260273972603) internal successors, (362), 306 states have internal predecessors, (362), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 393 states. [2022-02-20 23:38:28,600 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:28,600 INFO L93 Difference]: Finished difference Result 393 states and 443 transitions. [2022-02-20 23:38:28,600 INFO L276 IsEmpty]: Start isEmpty. Operand 393 states and 443 transitions. [2022-02-20 23:38:28,600 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:28,600 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:28,601 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:28,601 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:28,601 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 323 states, 292 states have (on average 1.2397260273972603) internal successors, (362), 306 states have internal predecessors, (362), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:28,605 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 323 states to 323 states and 385 transitions. [2022-02-20 23:38:28,605 INFO L78 Accepts]: Start accepts. Automaton has 323 states and 385 transitions. Word has length 50 [2022-02-20 23:38:28,605 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:28,605 INFO L470 AbstractCegarLoop]: Abstraction has 323 states and 385 transitions. [2022-02-20 23:38:28,605 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 3.7222222222222223) internal successors, (67), 16 states have internal predecessors, (67), 4 states have call successors, (6), 4 states have call predecessors, (6), 4 states have return successors, (4), 4 states have call predecessors, (4), 2 states have call successors, (4) [2022-02-20 23:38:28,606 INFO L276 IsEmpty]: Start isEmpty. Operand 323 states and 385 transitions. [2022-02-20 23:38:28,606 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:38:28,606 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:28,606 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:28,637 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (19)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:28,819 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable28 [2022-02-20 23:38:28,819 INFO L402 AbstractCegarLoop]: === Iteration 30 === Targeting parse_inputErr0REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:28,820 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:28,820 INFO L85 PathProgramCache]: Analyzing trace with hash -2111001345, now seen corresponding path program 1 times [2022-02-20 23:38:28,820 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:28,820 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1817898243] [2022-02-20 23:38:28,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:28,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:28,838 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:28,877 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:28,883 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:28,895 INFO L290 TraceCheckUtils]: 0: Hoare triple {51704#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51657#true} is VALID [2022-02-20 23:38:28,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {51657#true} assume !!(~i~0#1 < 2); {51657#true} is VALID [2022-02-20 23:38:28,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {51657#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,896 INFO L290 TraceCheckUtils]: 3: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume 1 == #valid[#t~mem3#1.base]; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,897 INFO L290 TraceCheckUtils]: 4: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,897 INFO L290 TraceCheckUtils]: 5: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume 1 == #valid[~input#1.base]; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,897 INFO L290 TraceCheckUtils]: 6: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,897 INFO L290 TraceCheckUtils]: 7: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,898 INFO L290 TraceCheckUtils]: 8: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,898 INFO L290 TraceCheckUtils]: 9: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,898 INFO L290 TraceCheckUtils]: 10: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,899 INFO L290 TraceCheckUtils]: 12: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,899 INFO L290 TraceCheckUtils]: 13: Hoare triple {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,899 INFO L290 TraceCheckUtils]: 14: Hoare triple {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,900 INFO L290 TraceCheckUtils]: 15: Hoare triple {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,900 INFO L290 TraceCheckUtils]: 16: Hoare triple {51679#(not (= ~global~0.base |~#commands~0.base|))} assume { :end_inline_c1 } true; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,900 INFO L290 TraceCheckUtils]: 17: Hoare triple {51679#(not (= ~global~0.base |~#commands~0.base|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,900 INFO L290 TraceCheckUtils]: 18: Hoare triple {51679#(not (= ~global~0.base |~#commands~0.base|))} assume true; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,901 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {51679#(not (= ~global~0.base |~#commands~0.base|))} {51657#true} #107#return; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,901 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 23:38:28,907 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:28,967 INFO L290 TraceCheckUtils]: 0: Hoare triple {51704#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51706#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:28,967 INFO L290 TraceCheckUtils]: 1: Hoare triple {51706#(= ~global~0.base |old(~global~0.base)|)} assume !!(~i~0#1 < 2); {51706#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:28,968 INFO L290 TraceCheckUtils]: 2: Hoare triple {51706#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,968 INFO L290 TraceCheckUtils]: 3: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,968 INFO L290 TraceCheckUtils]: 4: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,969 INFO L290 TraceCheckUtils]: 6: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,970 INFO L290 TraceCheckUtils]: 8: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,971 INFO L290 TraceCheckUtils]: 10: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,972 INFO L290 TraceCheckUtils]: 11: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,972 INFO L290 TraceCheckUtils]: 12: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,973 INFO L290 TraceCheckUtils]: 13: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,973 INFO L290 TraceCheckUtils]: 14: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume ~global~0.base != 0 || ~global~0.offset != 0; {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,974 INFO L290 TraceCheckUtils]: 15: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume 0 == ~global~0.offset; {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,974 INFO L290 TraceCheckUtils]: 16: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume ~global~0.base < #StackHeapBarrier; {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,974 INFO L290 TraceCheckUtils]: 17: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {51709#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:28,975 INFO L290 TraceCheckUtils]: 18: Hoare triple {51709#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,975 INFO L290 TraceCheckUtils]: 19: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :end_inline_c1 } true; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,975 INFO L290 TraceCheckUtils]: 21: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume true; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,976 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} {51679#(not (= ~global~0.base |~#commands~0.base|))} #109#return; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,976 INFO L290 TraceCheckUtils]: 0: Hoare triple {51657#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {51657#true} is VALID [2022-02-20 23:38:28,976 INFO L290 TraceCheckUtils]: 1: Hoare triple {51657#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {51657#true} is VALID [2022-02-20 23:38:28,977 INFO L272 TraceCheckUtils]: 2: Hoare triple {51657#true} call parse_input(3, 0); {51704#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:28,977 INFO L290 TraceCheckUtils]: 3: Hoare triple {51704#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51657#true} is VALID [2022-02-20 23:38:28,977 INFO L290 TraceCheckUtils]: 4: Hoare triple {51657#true} assume !!(~i~0#1 < 2); {51657#true} is VALID [2022-02-20 23:38:28,977 INFO L290 TraceCheckUtils]: 5: Hoare triple {51657#true} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,978 INFO L290 TraceCheckUtils]: 6: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume 1 == #valid[#t~mem3#1.base]; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,978 INFO L290 TraceCheckUtils]: 7: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,978 INFO L290 TraceCheckUtils]: 8: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume 1 == #valid[~input#1.base]; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,978 INFO L290 TraceCheckUtils]: 9: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,978 INFO L290 TraceCheckUtils]: 10: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,979 INFO L290 TraceCheckUtils]: 11: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,979 INFO L290 TraceCheckUtils]: 12: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,979 INFO L290 TraceCheckUtils]: 13: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,979 INFO L290 TraceCheckUtils]: 14: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,980 INFO L290 TraceCheckUtils]: 15: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,980 INFO L290 TraceCheckUtils]: 16: Hoare triple {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,980 INFO L290 TraceCheckUtils]: 17: Hoare triple {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,981 INFO L290 TraceCheckUtils]: 18: Hoare triple {51705#(not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,981 INFO L290 TraceCheckUtils]: 19: Hoare triple {51679#(not (= ~global~0.base |~#commands~0.base|))} assume { :end_inline_c1 } true; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,981 INFO L290 TraceCheckUtils]: 20: Hoare triple {51679#(not (= ~global~0.base |~#commands~0.base|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,982 INFO L290 TraceCheckUtils]: 21: Hoare triple {51679#(not (= ~global~0.base |~#commands~0.base|))} assume true; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,982 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {51679#(not (= ~global~0.base |~#commands~0.base|))} {51657#true} #107#return; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:28,983 INFO L272 TraceCheckUtils]: 23: Hoare triple {51679#(not (= ~global~0.base |~#commands~0.base|))} call parse_input(4, 0); {51704#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:28,983 INFO L290 TraceCheckUtils]: 24: Hoare triple {51704#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51706#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:28,983 INFO L290 TraceCheckUtils]: 25: Hoare triple {51706#(= ~global~0.base |old(~global~0.base)|)} assume !!(~i~0#1 < 2); {51706#(= ~global~0.base |old(~global~0.base)|)} is VALID [2022-02-20 23:38:28,984 INFO L290 TraceCheckUtils]: 26: Hoare triple {51706#(= ~global~0.base |old(~global~0.base)|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,984 INFO L290 TraceCheckUtils]: 27: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,984 INFO L290 TraceCheckUtils]: 28: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,985 INFO L290 TraceCheckUtils]: 29: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,985 INFO L290 TraceCheckUtils]: 30: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,986 INFO L290 TraceCheckUtils]: 31: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,986 INFO L290 TraceCheckUtils]: 32: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,987 INFO L290 TraceCheckUtils]: 33: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,987 INFO L290 TraceCheckUtils]: 34: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,988 INFO L290 TraceCheckUtils]: 35: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,988 INFO L290 TraceCheckUtils]: 36: Hoare triple {51707#(and (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)) (= (select |#valid| |~#commands~0.base|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,989 INFO L290 TraceCheckUtils]: 37: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,989 INFO L290 TraceCheckUtils]: 38: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume ~global~0.base != 0 || ~global~0.offset != 0; {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,989 INFO L290 TraceCheckUtils]: 39: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume 0 == ~global~0.offset; {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,990 INFO L290 TraceCheckUtils]: 40: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume ~global~0.base < #StackHeapBarrier; {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} is VALID [2022-02-20 23:38:28,990 INFO L290 TraceCheckUtils]: 41: Hoare triple {51708#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= ~global~0.base |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1)) (or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {51709#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:28,991 INFO L290 TraceCheckUtils]: 42: Hoare triple {51709#(and (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,991 INFO L290 TraceCheckUtils]: 43: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :end_inline_c1 } true; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,991 INFO L290 TraceCheckUtils]: 44: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,991 INFO L290 TraceCheckUtils]: 45: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume true; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:28,992 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} {51679#(not (= ~global~0.base |~#commands~0.base|))} #109#return; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,992 INFO L272 TraceCheckUtils]: 47: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} call parse_input(5, 0); {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,993 INFO L290 TraceCheckUtils]: 48: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,993 INFO L290 TraceCheckUtils]: 49: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume !!(~i~0#1 < 2); {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:28,993 INFO L290 TraceCheckUtils]: 50: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume !(1 == #valid[~#commands~0.base]); {51658#false} is VALID [2022-02-20 23:38:28,993 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 17 proven. 8 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:38:28,994 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:28,994 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1817898243] [2022-02-20 23:38:28,994 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1817898243] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:28,994 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [951500335] [2022-02-20 23:38:28,994 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:28,994 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:28,994 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:28,995 INFO L229 MonitoredProcess]: Starting monitored process 20 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:38:28,996 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Waiting until timeout for monitored process [2022-02-20 23:38:29,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:29,060 INFO L263 TraceCheckSpWp]: Trace formula consists of 310 conjuncts, 23 conjunts are in the unsatisfiable core [2022-02-20 23:38:29,069 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:29,070 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:29,232 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:29,232 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 11 treesize of output 11 [2022-02-20 23:38:29,395 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:38:29,395 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 23:38:29,458 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:38:29,459 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 12 treesize of output 18 [2022-02-20 23:38:29,559 INFO L290 TraceCheckUtils]: 0: Hoare triple {51657#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:29,560 INFO L290 TraceCheckUtils]: 1: Hoare triple {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:29,560 INFO L272 TraceCheckUtils]: 2: Hoare triple {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} call parse_input(3, 0); {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,560 INFO L290 TraceCheckUtils]: 3: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,561 INFO L290 TraceCheckUtils]: 4: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,561 INFO L290 TraceCheckUtils]: 5: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,561 INFO L290 TraceCheckUtils]: 6: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,562 INFO L290 TraceCheckUtils]: 7: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,563 INFO L290 TraceCheckUtils]: 10: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,563 INFO L290 TraceCheckUtils]: 11: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,564 INFO L290 TraceCheckUtils]: 12: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,564 INFO L290 TraceCheckUtils]: 13: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,564 INFO L290 TraceCheckUtils]: 14: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:29,565 INFO L290 TraceCheckUtils]: 15: Hoare triple {51721#(and (= 6 |~#commands~0.base|) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {51761#(and (= 6 |~#commands~0.base|) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))} is VALID [2022-02-20 23:38:29,565 INFO L290 TraceCheckUtils]: 16: Hoare triple {51761#(and (= 6 |~#commands~0.base|) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {51761#(and (= 6 |~#commands~0.base|) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))} is VALID [2022-02-20 23:38:29,565 INFO L290 TraceCheckUtils]: 17: Hoare triple {51761#(and (= 6 |~#commands~0.base|) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {51761#(and (= 6 |~#commands~0.base|) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))} is VALID [2022-02-20 23:38:29,566 INFO L290 TraceCheckUtils]: 18: Hoare triple {51761#(and (= 6 |~#commands~0.base|) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {51771#(and (= (select |old(#valid)| ~global~0.base) 0) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:29,566 INFO L290 TraceCheckUtils]: 19: Hoare triple {51771#(and (= (select |old(#valid)| ~global~0.base) 0) (= 6 |~#commands~0.base|))} assume { :end_inline_c1 } true; {51771#(and (= (select |old(#valid)| ~global~0.base) 0) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:29,566 INFO L290 TraceCheckUtils]: 20: Hoare triple {51771#(and (= (select |old(#valid)| ~global~0.base) 0) (= 6 |~#commands~0.base|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {51771#(and (= (select |old(#valid)| ~global~0.base) 0) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:29,567 INFO L290 TraceCheckUtils]: 21: Hoare triple {51771#(and (= (select |old(#valid)| ~global~0.base) 0) (= 6 |~#commands~0.base|))} assume true; {51771#(and (= (select |old(#valid)| ~global~0.base) 0) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:29,569 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {51771#(and (= (select |old(#valid)| ~global~0.base) 0) (= 6 |~#commands~0.base|))} {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} #107#return; {51784#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)))} is VALID [2022-02-20 23:38:29,571 INFO L272 TraceCheckUtils]: 23: Hoare triple {51784#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)))} call parse_input(4, 0); {51788#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:29,572 INFO L290 TraceCheckUtils]: 24: Hoare triple {51788#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51788#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:29,572 INFO L290 TraceCheckUtils]: 25: Hoare triple {51788#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} assume !!(~i~0#1 < 2); {51788#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} is VALID [2022-02-20 23:38:29,573 INFO L290 TraceCheckUtils]: 26: Hoare triple {51788#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,573 INFO L290 TraceCheckUtils]: 27: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,573 INFO L290 TraceCheckUtils]: 28: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,574 INFO L290 TraceCheckUtils]: 29: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,574 INFO L290 TraceCheckUtils]: 30: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,574 INFO L290 TraceCheckUtils]: 31: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,575 INFO L290 TraceCheckUtils]: 32: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,575 INFO L290 TraceCheckUtils]: 33: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,579 INFO L290 TraceCheckUtils]: 34: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,580 INFO L290 TraceCheckUtils]: 35: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,581 INFO L290 TraceCheckUtils]: 36: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,581 INFO L290 TraceCheckUtils]: 37: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,582 INFO L290 TraceCheckUtils]: 38: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~global~0.base != 0 || ~global~0.offset != 0; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,582 INFO L290 TraceCheckUtils]: 39: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == ~global~0.offset; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,583 INFO L290 TraceCheckUtils]: 40: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~global~0.base < #StackHeapBarrier; {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:29,583 INFO L290 TraceCheckUtils]: 41: Hoare triple {51798#(and (= ~global~0.base |old(~global~0.base)|) (= 6 |~#commands~0.base|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:29,584 INFO L290 TraceCheckUtils]: 42: Hoare triple {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:29,584 INFO L290 TraceCheckUtils]: 43: Hoare triple {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} assume { :end_inline_c1 } true; {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:29,585 INFO L290 TraceCheckUtils]: 44: Hoare triple {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:29,585 INFO L290 TraceCheckUtils]: 45: Hoare triple {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} assume true; {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:29,586 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {51844#(and (= 6 |~#commands~0.base|) (or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1)))} {51784#(and (= 6 |~#commands~0.base|) (not (= ~global~0.base 6)))} #109#return; {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:29,586 INFO L272 TraceCheckUtils]: 47: Hoare triple {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} call parse_input(5, 0); {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:29,587 INFO L290 TraceCheckUtils]: 48: Hoare triple {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:29,587 INFO L290 TraceCheckUtils]: 49: Hoare triple {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} assume !!(~i~0#1 < 2); {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} is VALID [2022-02-20 23:38:29,587 INFO L290 TraceCheckUtils]: 50: Hoare triple {51714#(and (= 6 |~#commands~0.base|) (= (select |#valid| 6) 1))} assume !(1 == #valid[~#commands~0.base]); {51658#false} is VALID [2022-02-20 23:38:29,588 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 0 proven. 26 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:29,588 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:29,789 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:38:29,789 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 56 treesize of output 53 [2022-02-20 23:38:30,576 INFO L356 Elim1Store]: treesize reduction 5, result has 37.5 percent of original size [2022-02-20 23:38:30,577 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 110 treesize of output 105 [2022-02-20 23:38:30,900 INFO L290 TraceCheckUtils]: 50: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume !(1 == #valid[~#commands~0.base]); {51658#false} is VALID [2022-02-20 23:38:30,901 INFO L290 TraceCheckUtils]: 49: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} assume !!(~i~0#1 < 2); {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:30,901 INFO L290 TraceCheckUtils]: 48: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:30,901 INFO L272 TraceCheckUtils]: 47: Hoare triple {51703#(= (select |#valid| |~#commands~0.base|) 1)} call parse_input(5, 0); {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:30,902 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} {51679#(not (= ~global~0.base |~#commands~0.base|))} #109#return; {51703#(= (select |#valid| |~#commands~0.base|) 1)} is VALID [2022-02-20 23:38:30,902 INFO L290 TraceCheckUtils]: 45: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume true; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:30,903 INFO L290 TraceCheckUtils]: 44: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:30,903 INFO L290 TraceCheckUtils]: 43: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :end_inline_c1 } true; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:30,903 INFO L290 TraceCheckUtils]: 42: Hoare triple {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:30,904 INFO L290 TraceCheckUtils]: 41: Hoare triple {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {51710#(or (= |~#commands~0.base| |old(~global~0.base)|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:30,904 INFO L290 TraceCheckUtils]: 40: Hoare triple {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} assume ~global~0.base < #StackHeapBarrier; {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:30,904 INFO L290 TraceCheckUtils]: 39: Hoare triple {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} assume 0 == ~global~0.offset; {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:30,905 INFO L290 TraceCheckUtils]: 38: Hoare triple {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} assume ~global~0.base != 0 || ~global~0.offset != 0; {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:30,905 INFO L290 TraceCheckUtils]: 37: Hoare triple {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:30,906 INFO L290 TraceCheckUtils]: 36: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {51902#(or (= |~#commands~0.base| |old(~global~0.base)|) (forall ((v_ArrVal_165 Int)) (= (select (store |#valid| ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1)))} is VALID [2022-02-20 23:38:30,906 INFO L290 TraceCheckUtils]: 35: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,907 INFO L290 TraceCheckUtils]: 34: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,907 INFO L290 TraceCheckUtils]: 33: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,907 INFO L290 TraceCheckUtils]: 32: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,908 INFO L290 TraceCheckUtils]: 31: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,908 INFO L290 TraceCheckUtils]: 30: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,908 INFO L290 TraceCheckUtils]: 29: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} assume 1 == #valid[~input#1.base]; {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,908 INFO L290 TraceCheckUtils]: 28: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,909 INFO L290 TraceCheckUtils]: 27: Hoare triple {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} assume 1 == #valid[#t~mem3#1.base]; {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,909 INFO L290 TraceCheckUtils]: 26: Hoare triple {51949#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {51918#(or (forall ((v_ArrVal_165 Int) (v_ArrVal_164 Int) (|v_parse_input_c1_~x~0#1.base_53| Int)) (or (not (= (select |#valid| |v_parse_input_c1_~x~0#1.base_53|) 0)) (= (select (store (store |#valid| |v_parse_input_c1_~x~0#1.base_53| v_ArrVal_164) ~global~0.base v_ArrVal_165) |~#commands~0.base|) 1))) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,910 INFO L290 TraceCheckUtils]: 25: Hoare triple {51949#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} assume !!(~i~0#1 < 2); {51949#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,910 INFO L290 TraceCheckUtils]: 24: Hoare triple {51949#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51949#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,911 INFO L272 TraceCheckUtils]: 23: Hoare triple {51679#(not (= ~global~0.base |~#commands~0.base|))} call parse_input(4, 0); {51949#(or (not (= ~global~0.base |~#commands~0.base|)) (= |~#commands~0.base| |old(~global~0.base)|))} is VALID [2022-02-20 23:38:30,911 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {51963#(or (not (= ~global~0.base |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} {51959#(not (= (select |#valid| |~#commands~0.base|) 0))} #107#return; {51679#(not (= ~global~0.base |~#commands~0.base|))} is VALID [2022-02-20 23:38:30,911 INFO L290 TraceCheckUtils]: 21: Hoare triple {51963#(or (not (= ~global~0.base |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume true; {51963#(or (not (= ~global~0.base |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,912 INFO L290 TraceCheckUtils]: 20: Hoare triple {51963#(or (not (= ~global~0.base |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {51963#(or (not (= ~global~0.base |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,912 INFO L290 TraceCheckUtils]: 19: Hoare triple {51963#(or (not (= ~global~0.base |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume { :end_inline_c1 } true; {51963#(or (not (= ~global~0.base |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,912 INFO L290 TraceCheckUtils]: 18: Hoare triple {51976#(or (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {51963#(or (not (= ~global~0.base |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,913 INFO L290 TraceCheckUtils]: 17: Hoare triple {51976#(or (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {51976#(or (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,913 INFO L290 TraceCheckUtils]: 16: Hoare triple {51976#(or (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {51976#(or (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,913 INFO L290 TraceCheckUtils]: 15: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {51976#(or (not (= |parse_input_c1_~x~0#1.base| |~#commands~0.base|)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,914 INFO L290 TraceCheckUtils]: 14: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,914 INFO L290 TraceCheckUtils]: 13: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,915 INFO L290 TraceCheckUtils]: 12: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,915 INFO L290 TraceCheckUtils]: 11: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,915 INFO L290 TraceCheckUtils]: 10: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,916 INFO L290 TraceCheckUtils]: 9: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,916 INFO L290 TraceCheckUtils]: 8: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume 1 == #valid[~input#1.base]; {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,916 INFO L290 TraceCheckUtils]: 7: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,917 INFO L290 TraceCheckUtils]: 6: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume 1 == #valid[#t~mem3#1.base]; {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,917 INFO L290 TraceCheckUtils]: 5: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,917 INFO L290 TraceCheckUtils]: 4: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} assume !!(~i~0#1 < 2); {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,918 INFO L290 TraceCheckUtils]: 3: Hoare triple {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,918 INFO L272 TraceCheckUtils]: 2: Hoare triple {51959#(not (= (select |#valid| |~#commands~0.base|) 0))} call parse_input(3, 0); {51986#(or (not (= (select |#valid| |~#commands~0.base|) 0)) (= (select |old(#valid)| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,918 INFO L290 TraceCheckUtils]: 1: Hoare triple {51959#(not (= (select |#valid| |~#commands~0.base|) 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {51959#(not (= (select |#valid| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,919 INFO L290 TraceCheckUtils]: 0: Hoare triple {51657#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {51959#(not (= (select |#valid| |~#commands~0.base|) 0))} is VALID [2022-02-20 23:38:30,920 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 3 proven. 23 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:30,920 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [951500335] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:38:30,920 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:38:30,920 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8, 10] total 25 [2022-02-20 23:38:30,920 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [685714145] [2022-02-20 23:38:30,920 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:30,921 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 24 states have (on average 5.5) internal successors, (132), 24 states have internal predecessors, (132), 6 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 51 [2022-02-20 23:38:30,921 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:30,921 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 26 states, 24 states have (on average 5.5) internal successors, (132), 24 states have internal predecessors, (132), 6 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:38:31,017 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 145 edges. 145 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:31,017 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 26 states [2022-02-20 23:38:31,017 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:31,020 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 26 interpolants. [2022-02-20 23:38:31,020 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=106, Invalid=544, Unknown=0, NotChecked=0, Total=650 [2022-02-20 23:38:31,020 INFO L87 Difference]: Start difference. First operand 323 states and 385 transitions. Second operand has 26 states, 24 states have (on average 5.5) internal successors, (132), 24 states have internal predecessors, (132), 6 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:38:31,686 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:31,686 INFO L93 Difference]: Finished difference Result 336 states and 397 transitions. [2022-02-20 23:38:31,686 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:38:31,686 INFO L78 Accepts]: Start accepts. Automaton has has 26 states, 24 states have (on average 5.5) internal successors, (132), 24 states have internal predecessors, (132), 6 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) Word has length 51 [2022-02-20 23:38:31,686 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:31,686 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 24 states have (on average 5.5) internal successors, (132), 24 states have internal predecessors, (132), 6 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:38:31,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2022-02-20 23:38:31,687 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 24 states have (on average 5.5) internal successors, (132), 24 states have internal predecessors, (132), 6 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:38:31,687 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 61 transitions. [2022-02-20 23:38:31,687 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 61 transitions. [2022-02-20 23:38:31,734 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:38:31,739 INFO L225 Difference]: With dead ends: 336 [2022-02-20 23:38:31,739 INFO L226 Difference]: Without dead ends: 336 [2022-02-20 23:38:31,739 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 128 GetRequests, 94 SyntacticMatches, 5 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 237 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=209, Invalid=721, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:38:31,739 INFO L933 BasicCegarLoop]: 20 mSDtfsCounter, 391 mSDsluCounter, 48 mSDsCounter, 0 mSdLazyCounter, 167 mSolverCounterSat, 106 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 391 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 299 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 106 IncrementalHoareTripleChecker+Valid, 167 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 26 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:31,740 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [391 Valid, 68 Invalid, 299 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [106 Valid, 167 Invalid, 0 Unknown, 26 Unchecked, 0.2s Time] [2022-02-20 23:38:31,740 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 336 states. [2022-02-20 23:38:31,743 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 336 to 322. [2022-02-20 23:38:31,743 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:31,743 INFO L82 GeneralOperation]: Start isEquivalent. First operand 336 states. Second operand has 322 states, 292 states have (on average 1.2328767123287672) internal successors, (360), 305 states have internal predecessors, (360), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:31,744 INFO L74 IsIncluded]: Start isIncluded. First operand 336 states. Second operand has 322 states, 292 states have (on average 1.2328767123287672) internal successors, (360), 305 states have internal predecessors, (360), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:31,744 INFO L87 Difference]: Start difference. First operand 336 states. Second operand has 322 states, 292 states have (on average 1.2328767123287672) internal successors, (360), 305 states have internal predecessors, (360), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:31,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:31,748 INFO L93 Difference]: Finished difference Result 336 states and 397 transitions. [2022-02-20 23:38:31,748 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 397 transitions. [2022-02-20 23:38:31,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:31,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:31,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 322 states, 292 states have (on average 1.2328767123287672) internal successors, (360), 305 states have internal predecessors, (360), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 336 states. [2022-02-20 23:38:31,749 INFO L87 Difference]: Start difference. First operand has 322 states, 292 states have (on average 1.2328767123287672) internal successors, (360), 305 states have internal predecessors, (360), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 336 states. [2022-02-20 23:38:31,754 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:31,754 INFO L93 Difference]: Finished difference Result 336 states and 397 transitions. [2022-02-20 23:38:31,754 INFO L276 IsEmpty]: Start isEmpty. Operand 336 states and 397 transitions. [2022-02-20 23:38:31,755 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:31,755 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:31,755 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:31,755 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:31,755 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 322 states, 292 states have (on average 1.2328767123287672) internal successors, (360), 305 states have internal predecessors, (360), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:31,759 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 383 transitions. [2022-02-20 23:38:31,759 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 383 transitions. Word has length 51 [2022-02-20 23:38:31,759 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:31,759 INFO L470 AbstractCegarLoop]: Abstraction has 322 states and 383 transitions. [2022-02-20 23:38:31,760 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 26 states, 24 states have (on average 5.5) internal successors, (132), 24 states have internal predecessors, (132), 6 states have call successors, (8), 7 states have call predecessors, (8), 5 states have return successors, (5), 4 states have call predecessors, (5), 5 states have call successors, (5) [2022-02-20 23:38:31,760 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 383 transitions. [2022-02-20 23:38:31,760 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:38:31,760 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:31,760 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:31,779 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (20)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:31,977 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable29,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:31,977 INFO L402 AbstractCegarLoop]: === Iteration 31 === Targeting parse_inputErr1REQUIRES_VIOLATION === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:31,978 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:31,978 INFO L85 PathProgramCache]: Analyzing trace with hash -2111001344, now seen corresponding path program 1 times [2022-02-20 23:38:31,978 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:31,978 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [788566398] [2022-02-20 23:38:31,978 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:31,978 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:31,994 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:32,047 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:32,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:32,063 INFO L290 TraceCheckUtils]: 0: Hoare triple {53424#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {53425#(<= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:32,064 INFO L290 TraceCheckUtils]: 1: Hoare triple {53425#(<= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {53425#(<= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:32,064 INFO L290 TraceCheckUtils]: 2: Hoare triple {53425#(<= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,065 INFO L290 TraceCheckUtils]: 3: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 1 == #valid[#t~mem3#1.base]; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,065 INFO L290 TraceCheckUtils]: 4: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,065 INFO L290 TraceCheckUtils]: 5: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 1 == #valid[~input#1.base]; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,065 INFO L290 TraceCheckUtils]: 6: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,066 INFO L290 TraceCheckUtils]: 7: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,066 INFO L290 TraceCheckUtils]: 8: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,066 INFO L290 TraceCheckUtils]: 9: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,066 INFO L290 TraceCheckUtils]: 10: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,067 INFO L290 TraceCheckUtils]: 11: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,067 INFO L290 TraceCheckUtils]: 12: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,067 INFO L290 TraceCheckUtils]: 13: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,067 INFO L290 TraceCheckUtils]: 14: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,068 INFO L290 TraceCheckUtils]: 15: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,068 INFO L290 TraceCheckUtils]: 16: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :end_inline_c1 } true; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,068 INFO L290 TraceCheckUtils]: 17: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,069 INFO L290 TraceCheckUtils]: 18: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume true; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,069 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {53378#(<= 0 |~#commands~0.offset|)} {53378#(<= 0 |~#commands~0.offset|)} #107#return; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,069 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 23:38:32,075 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:32,113 INFO L290 TraceCheckUtils]: 0: Hoare triple {53424#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {53426#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:32,113 INFO L290 TraceCheckUtils]: 1: Hoare triple {53426#(<= 0 |parse_input_~i~0#1|)} assume !!(~i~0#1 < 2); {53426#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:32,114 INFO L290 TraceCheckUtils]: 2: Hoare triple {53426#(<= 0 |parse_input_~i~0#1|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,114 INFO L290 TraceCheckUtils]: 3: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,115 INFO L290 TraceCheckUtils]: 4: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,115 INFO L290 TraceCheckUtils]: 5: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,115 INFO L290 TraceCheckUtils]: 6: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,116 INFO L290 TraceCheckUtils]: 7: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,116 INFO L290 TraceCheckUtils]: 8: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,117 INFO L290 TraceCheckUtils]: 9: Hoare triple {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,117 INFO L290 TraceCheckUtils]: 10: Hoare triple {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,117 INFO L290 TraceCheckUtils]: 11: Hoare triple {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,118 INFO L290 TraceCheckUtils]: 12: Hoare triple {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,118 INFO L290 TraceCheckUtils]: 13: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,119 INFO L290 TraceCheckUtils]: 14: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume ~global~0.base != 0 || ~global~0.offset != 0; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,119 INFO L290 TraceCheckUtils]: 15: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume 0 == ~global~0.offset; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,119 INFO L290 TraceCheckUtils]: 16: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume ~global~0.base < #StackHeapBarrier; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,120 INFO L290 TraceCheckUtils]: 17: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,120 INFO L290 TraceCheckUtils]: 18: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,120 INFO L290 TraceCheckUtils]: 19: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume { :end_inline_c1 } true; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,121 INFO L290 TraceCheckUtils]: 20: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,121 INFO L290 TraceCheckUtils]: 21: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume true; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,122 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} {53378#(<= 0 |~#commands~0.offset|)} #109#return; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,123 INFO L290 TraceCheckUtils]: 0: Hoare triple {53376#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,123 INFO L290 TraceCheckUtils]: 1: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,124 INFO L272 TraceCheckUtils]: 2: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} call parse_input(3, 0); {53424#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:32,124 INFO L290 TraceCheckUtils]: 3: Hoare triple {53424#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {53425#(<= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:32,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {53425#(<= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {53425#(<= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:32,125 INFO L290 TraceCheckUtils]: 5: Hoare triple {53425#(<= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 1 == #valid[#t~mem3#1.base]; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 1 == #valid[~input#1.base]; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,126 INFO L290 TraceCheckUtils]: 10: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,126 INFO L290 TraceCheckUtils]: 11: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,127 INFO L290 TraceCheckUtils]: 12: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,127 INFO L290 TraceCheckUtils]: 13: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,127 INFO L290 TraceCheckUtils]: 14: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,128 INFO L290 TraceCheckUtils]: 15: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,128 INFO L290 TraceCheckUtils]: 16: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,128 INFO L290 TraceCheckUtils]: 17: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,128 INFO L290 TraceCheckUtils]: 18: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,129 INFO L290 TraceCheckUtils]: 19: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :end_inline_c1 } true; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,129 INFO L290 TraceCheckUtils]: 20: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,129 INFO L290 TraceCheckUtils]: 21: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume true; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,130 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {53378#(<= 0 |~#commands~0.offset|)} {53378#(<= 0 |~#commands~0.offset|)} #107#return; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,130 INFO L272 TraceCheckUtils]: 23: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} call parse_input(4, 0); {53424#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:32,131 INFO L290 TraceCheckUtils]: 24: Hoare triple {53424#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {53426#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:32,131 INFO L290 TraceCheckUtils]: 25: Hoare triple {53426#(<= 0 |parse_input_~i~0#1|)} assume !!(~i~0#1 < 2); {53426#(<= 0 |parse_input_~i~0#1|)} is VALID [2022-02-20 23:38:32,131 INFO L290 TraceCheckUtils]: 26: Hoare triple {53426#(<= 0 |parse_input_~i~0#1|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,132 INFO L290 TraceCheckUtils]: 27: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,132 INFO L290 TraceCheckUtils]: 28: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,132 INFO L290 TraceCheckUtils]: 29: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,133 INFO L290 TraceCheckUtils]: 30: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,133 INFO L290 TraceCheckUtils]: 31: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,134 INFO L290 TraceCheckUtils]: 32: Hoare triple {53427#(and (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,134 INFO L290 TraceCheckUtils]: 33: Hoare triple {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,134 INFO L290 TraceCheckUtils]: 34: Hoare triple {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,135 INFO L290 TraceCheckUtils]: 35: Hoare triple {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,135 INFO L290 TraceCheckUtils]: 36: Hoare triple {53428#(and (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)) (= (select |#valid| |~#commands~0.base|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,136 INFO L290 TraceCheckUtils]: 37: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,136 INFO L290 TraceCheckUtils]: 38: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume ~global~0.base != 0 || ~global~0.offset != 0; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,136 INFO L290 TraceCheckUtils]: 39: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume 0 == ~global~0.offset; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,137 INFO L290 TraceCheckUtils]: 40: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume ~global~0.base < #StackHeapBarrier; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,137 INFO L290 TraceCheckUtils]: 41: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,137 INFO L290 TraceCheckUtils]: 42: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,138 INFO L290 TraceCheckUtils]: 43: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume { :end_inline_c1 } true; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,138 INFO L290 TraceCheckUtils]: 44: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,138 INFO L290 TraceCheckUtils]: 45: Hoare triple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} assume true; {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} is VALID [2022-02-20 23:38:32,139 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {53429#(<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|))} {53378#(<= 0 |~#commands~0.offset|)} #109#return; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,139 INFO L272 TraceCheckUtils]: 47: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} call parse_input(5, 0); {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,140 INFO L290 TraceCheckUtils]: 48: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {53423#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,140 INFO L290 TraceCheckUtils]: 49: Hoare triple {53423#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume !!(~i~0#1 < 2); {53423#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,141 INFO L290 TraceCheckUtils]: 50: Hoare triple {53423#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {53377#false} is VALID [2022-02-20 23:38:32,141 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 4 proven. 21 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:38:32,141 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:32,141 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [788566398] [2022-02-20 23:38:32,141 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [788566398] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:32,141 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [650040808] [2022-02-20 23:38:32,142 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:32,142 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:32,142 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:32,143 INFO L229 MonitoredProcess]: Starting monitored process 21 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:38:32,145 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Waiting until timeout for monitored process [2022-02-20 23:38:32,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:32,216 INFO L263 TraceCheckSpWp]: Trace formula consists of 310 conjuncts, 13 conjunts are in the unsatisfiable core [2022-02-20 23:38:32,225 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:32,227 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:32,508 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:38:32,510 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 19 treesize of output 21 [2022-02-20 23:38:32,520 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:32,520 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 11 treesize of output 11 [2022-02-20 23:38:32,629 INFO L290 TraceCheckUtils]: 0: Hoare triple {53376#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,629 INFO L290 TraceCheckUtils]: 1: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,629 INFO L272 TraceCheckUtils]: 2: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} call parse_input(3, 0); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,630 INFO L290 TraceCheckUtils]: 3: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,630 INFO L290 TraceCheckUtils]: 4: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !!(~i~0#1 < 2); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,630 INFO L290 TraceCheckUtils]: 5: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,630 INFO L290 TraceCheckUtils]: 6: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 1 == #valid[#t~mem3#1.base]; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,631 INFO L290 TraceCheckUtils]: 7: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,631 INFO L290 TraceCheckUtils]: 8: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 1 == #valid[~input#1.base]; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,631 INFO L290 TraceCheckUtils]: 9: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,632 INFO L290 TraceCheckUtils]: 10: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,632 INFO L290 TraceCheckUtils]: 11: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,632 INFO L290 TraceCheckUtils]: 12: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,632 INFO L290 TraceCheckUtils]: 13: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,633 INFO L290 TraceCheckUtils]: 14: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,633 INFO L290 TraceCheckUtils]: 15: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,633 INFO L290 TraceCheckUtils]: 16: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,633 INFO L290 TraceCheckUtils]: 17: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume !(~global~0.base != 0 || ~global~0.offset != 0); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,634 INFO L290 TraceCheckUtils]: 18: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,634 INFO L290 TraceCheckUtils]: 19: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :end_inline_c1 } true; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,634 INFO L290 TraceCheckUtils]: 20: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,634 INFO L290 TraceCheckUtils]: 21: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} assume true; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,635 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {53378#(<= 0 |~#commands~0.offset|)} {53378#(<= 0 |~#commands~0.offset|)} #107#return; {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,635 INFO L272 TraceCheckUtils]: 23: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} call parse_input(4, 0); {53378#(<= 0 |~#commands~0.offset|)} is VALID [2022-02-20 23:38:32,635 INFO L290 TraceCheckUtils]: 24: Hoare triple {53378#(<= 0 |~#commands~0.offset|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {53505#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:32,636 INFO L290 TraceCheckUtils]: 25: Hoare triple {53505#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|))} assume !!(~i~0#1 < 2); {53505#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|))} is VALID [2022-02-20 23:38:32,636 INFO L290 TraceCheckUtils]: 26: Hoare triple {53505#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,637 INFO L290 TraceCheckUtils]: 27: Hoare triple {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[#t~mem3#1.base]; {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,637 INFO L290 TraceCheckUtils]: 28: Hoare triple {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,637 INFO L290 TraceCheckUtils]: 29: Hoare triple {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 1 == #valid[~input#1.base]; {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,638 INFO L290 TraceCheckUtils]: 30: Hoare triple {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,638 INFO L290 TraceCheckUtils]: 31: Hoare triple {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,639 INFO L290 TraceCheckUtils]: 32: Hoare triple {53512#(and (<= 0 |~#commands~0.offset|) (<= 0 |parse_input_~i~0#1|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {53531#(and (<= 0 (div (+ (- 9) (* (- 1) |~#commands~0.offset|) (select |#length| |~#commands~0.base|)) 9)) (<= 0 |~#commands~0.offset|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,639 INFO L290 TraceCheckUtils]: 33: Hoare triple {53531#(and (<= 0 (div (+ (- 9) (* (- 1) |~#commands~0.offset|) (select |#length| |~#commands~0.base|)) 9)) (<= 0 |~#commands~0.offset|) (= (select |#valid| |~#commands~0.base|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {53531#(and (<= 0 (div (+ (- 9) (* (- 1) |~#commands~0.offset|) (select |#length| |~#commands~0.base|)) 9)) (<= 0 |~#commands~0.offset|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,640 INFO L290 TraceCheckUtils]: 34: Hoare triple {53531#(and (<= 0 (div (+ (- 9) (* (- 1) |~#commands~0.offset|) (select |#length| |~#commands~0.base|)) 9)) (<= 0 |~#commands~0.offset|) (= (select |#valid| |~#commands~0.base|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {53531#(and (<= 0 (div (+ (- 9) (* (- 1) |~#commands~0.offset|) (select |#length| |~#commands~0.base|)) 9)) (<= 0 |~#commands~0.offset|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,640 INFO L290 TraceCheckUtils]: 35: Hoare triple {53531#(and (<= 0 (div (+ (- 9) (* (- 1) |~#commands~0.offset|) (select |#length| |~#commands~0.base|)) 9)) (<= 0 |~#commands~0.offset|) (= (select |#valid| |~#commands~0.base|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {53531#(and (<= 0 (div (+ (- 9) (* (- 1) |~#commands~0.offset|) (select |#length| |~#commands~0.base|)) 9)) (<= 0 |~#commands~0.offset|) (= (select |#valid| |~#commands~0.base|) 1))} is VALID [2022-02-20 23:38:32,641 INFO L290 TraceCheckUtils]: 36: Hoare triple {53531#(and (<= 0 (div (+ (- 9) (* (- 1) |~#commands~0.offset|) (select |#length| |~#commands~0.base|)) 9)) (<= 0 |~#commands~0.offset|) (= (select |#valid| |~#commands~0.base|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,641 INFO L290 TraceCheckUtils]: 37: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,641 INFO L290 TraceCheckUtils]: 38: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume ~global~0.base != 0 || ~global~0.offset != 0; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,642 INFO L290 TraceCheckUtils]: 39: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume 0 == ~global~0.offset; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,642 INFO L290 TraceCheckUtils]: 40: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume ~global~0.base < #StackHeapBarrier; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,642 INFO L290 TraceCheckUtils]: 41: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,643 INFO L290 TraceCheckUtils]: 42: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,643 INFO L290 TraceCheckUtils]: 43: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume { :end_inline_c1 } true; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,643 INFO L290 TraceCheckUtils]: 44: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,644 INFO L290 TraceCheckUtils]: 45: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume true; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,644 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} {53378#(<= 0 |~#commands~0.offset|)} #109#return; {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,645 INFO L272 TraceCheckUtils]: 47: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} call parse_input(5, 0); {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,645 INFO L290 TraceCheckUtils]: 48: Hoare triple {53422#(and (<= 0 |~#commands~0.offset|) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {53423#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,645 INFO L290 TraceCheckUtils]: 49: Hoare triple {53423#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume !!(~i~0#1 < 2); {53423#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} is VALID [2022-02-20 23:38:32,646 INFO L290 TraceCheckUtils]: 50: Hoare triple {53423#(and (<= 0 |~#commands~0.offset|) (= |parse_input_~i~0#1| 0) (<= (+ |~#commands~0.offset| 9) (select |#length| |~#commands~0.base|)))} assume !(4 + (~#commands~0.offset + 9 * ~i~0#1) <= #length[~#commands~0.base] && 0 <= ~#commands~0.offset + 9 * ~i~0#1); {53377#false} is VALID [2022-02-20 23:38:32,646 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 25 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:38:32,646 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:38:32,646 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [650040808] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:38:32,646 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:38:32,647 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [9] total 12 [2022-02-20 23:38:32,647 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1095158822] [2022-02-20 23:38:32,647 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:38:32,647 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 6.571428571428571) internal successors, (46), 7 states have internal predecessors, (46), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 51 [2022-02-20 23:38:32,647 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:32,648 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 8 states, 7 states have (on average 6.571428571428571) internal successors, (46), 7 states have internal predecessors, (46), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:32,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:32,685 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 8 states [2022-02-20 23:38:32,685 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:32,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 8 interpolants. [2022-02-20 23:38:32,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:38:32,686 INFO L87 Difference]: Start difference. First operand 322 states and 383 transitions. Second operand has 8 states, 7 states have (on average 6.571428571428571) internal successors, (46), 7 states have internal predecessors, (46), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:33,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,042 INFO L93 Difference]: Finished difference Result 371 states and 429 transitions. [2022-02-20 23:38:33,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 8 states. [2022-02-20 23:38:33,042 INFO L78 Accepts]: Start accepts. Automaton has has 8 states, 7 states have (on average 6.571428571428571) internal successors, (46), 7 states have internal predecessors, (46), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) Word has length 51 [2022-02-20 23:38:33,042 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:33,042 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 6.571428571428571) internal successors, (46), 7 states have internal predecessors, (46), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:33,043 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 103 transitions. [2022-02-20 23:38:33,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 8 states, 7 states have (on average 6.571428571428571) internal successors, (46), 7 states have internal predecessors, (46), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:33,044 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 8 states to 8 states and 103 transitions. [2022-02-20 23:38:33,044 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 8 states and 103 transitions. [2022-02-20 23:38:33,132 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:33,137 INFO L225 Difference]: With dead ends: 371 [2022-02-20 23:38:33,137 INFO L226 Difference]: Without dead ends: 371 [2022-02-20 23:38:33,137 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 65 GetRequests, 49 SyntacticMatches, 1 SemanticMatches, 15 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 43 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=80, Invalid=192, Unknown=0, NotChecked=0, Total=272 [2022-02-20 23:38:33,138 INFO L933 BasicCegarLoop]: 32 mSDtfsCounter, 196 mSDsluCounter, 33 mSDsCounter, 0 mSdLazyCounter, 100 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 196 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 140 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 100 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:33,138 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [196 Valid, 65 Invalid, 140 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 100 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:38:33,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 371 states. [2022-02-20 23:38:33,141 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 371 to 322. [2022-02-20 23:38:33,141 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:33,141 INFO L82 GeneralOperation]: Start isEquivalent. First operand 371 states. Second operand has 322 states, 292 states have (on average 1.2226027397260273) internal successors, (357), 305 states have internal predecessors, (357), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:33,142 INFO L74 IsIncluded]: Start isIncluded. First operand 371 states. Second operand has 322 states, 292 states have (on average 1.2226027397260273) internal successors, (357), 305 states have internal predecessors, (357), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:33,142 INFO L87 Difference]: Start difference. First operand 371 states. Second operand has 322 states, 292 states have (on average 1.2226027397260273) internal successors, (357), 305 states have internal predecessors, (357), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:33,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,147 INFO L93 Difference]: Finished difference Result 371 states and 429 transitions. [2022-02-20 23:38:33,147 INFO L276 IsEmpty]: Start isEmpty. Operand 371 states and 429 transitions. [2022-02-20 23:38:33,147 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:33,148 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:33,148 INFO L74 IsIncluded]: Start isIncluded. First operand has 322 states, 292 states have (on average 1.2226027397260273) internal successors, (357), 305 states have internal predecessors, (357), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 371 states. [2022-02-20 23:38:33,148 INFO L87 Difference]: Start difference. First operand has 322 states, 292 states have (on average 1.2226027397260273) internal successors, (357), 305 states have internal predecessors, (357), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 371 states. [2022-02-20 23:38:33,153 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:33,153 INFO L93 Difference]: Finished difference Result 371 states and 429 transitions. [2022-02-20 23:38:33,154 INFO L276 IsEmpty]: Start isEmpty. Operand 371 states and 429 transitions. [2022-02-20 23:38:33,154 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:33,154 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:33,154 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:33,154 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:33,155 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 322 states, 292 states have (on average 1.2226027397260273) internal successors, (357), 305 states have internal predecessors, (357), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:33,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 380 transitions. [2022-02-20 23:38:33,159 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 380 transitions. Word has length 51 [2022-02-20 23:38:33,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:33,159 INFO L470 AbstractCegarLoop]: Abstraction has 322 states and 380 transitions. [2022-02-20 23:38:33,159 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 8 states, 7 states have (on average 6.571428571428571) internal successors, (46), 7 states have internal predecessors, (46), 2 states have call successors, (3), 2 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 1 states have call successors, (2) [2022-02-20 23:38:33,159 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 380 transitions. [2022-02-20 23:38:33,160 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:38:33,160 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:33,160 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:33,179 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (21)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:33,375 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 21 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable30 [2022-02-20 23:38:33,375 INFO L402 AbstractCegarLoop]: === Iteration 32 === Targeting parse_inputErr4ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:33,376 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:33,376 INFO L85 PathProgramCache]: Analyzing trace with hash 410026143, now seen corresponding path program 1 times [2022-02-20 23:38:33,376 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:33,376 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [105949201] [2022-02-20 23:38:33,376 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:33,376 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:33,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:33,418 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:33,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:33,458 INFO L290 TraceCheckUtils]: 0: Hoare triple {55071#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,459 INFO L290 TraceCheckUtils]: 1: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,459 INFO L290 TraceCheckUtils]: 2: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,460 INFO L290 TraceCheckUtils]: 3: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,460 INFO L290 TraceCheckUtils]: 4: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,460 INFO L290 TraceCheckUtils]: 5: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,461 INFO L290 TraceCheckUtils]: 6: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,462 INFO L290 TraceCheckUtils]: 9: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,462 INFO L290 TraceCheckUtils]: 10: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,462 INFO L290 TraceCheckUtils]: 11: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,463 INFO L290 TraceCheckUtils]: 12: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:33,464 INFO L290 TraceCheckUtils]: 13: Hoare triple {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:33,464 INFO L290 TraceCheckUtils]: 14: Hoare triple {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:33,464 INFO L290 TraceCheckUtils]: 15: Hoare triple {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:33,465 INFO L290 TraceCheckUtils]: 16: Hoare triple {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume { :end_inline_c1 } true; {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:33,465 INFO L290 TraceCheckUtils]: 17: Hoare triple {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:33,465 INFO L290 TraceCheckUtils]: 18: Hoare triple {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume true; {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:33,466 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} {55028#(= 1 (select |#valid| 5))} #107#return; {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 23:38:33,472 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:33,477 INFO L290 TraceCheckUtils]: 0: Hoare triple {55071#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,477 INFO L290 TraceCheckUtils]: 1: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,478 INFO L290 TraceCheckUtils]: 2: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,478 INFO L290 TraceCheckUtils]: 3: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,478 INFO L290 TraceCheckUtils]: 4: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,479 INFO L290 TraceCheckUtils]: 5: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,479 INFO L290 TraceCheckUtils]: 6: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,479 INFO L290 TraceCheckUtils]: 7: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,480 INFO L290 TraceCheckUtils]: 8: Hoare triple {55072#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,480 INFO L290 TraceCheckUtils]: 9: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,481 INFO L290 TraceCheckUtils]: 10: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,481 INFO L290 TraceCheckUtils]: 11: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,481 INFO L290 TraceCheckUtils]: 12: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,482 INFO L290 TraceCheckUtils]: 13: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,482 INFO L290 TraceCheckUtils]: 14: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,482 INFO L290 TraceCheckUtils]: 15: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,482 INFO L290 TraceCheckUtils]: 16: Hoare triple {55072#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,483 INFO L290 TraceCheckUtils]: 17: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,483 INFO L290 TraceCheckUtils]: 18: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume true; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,484 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {55072#(= |old(#valid)| |#valid|)} {55028#(= 1 (select |#valid| 5))} #109#return; {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,485 INFO L290 TraceCheckUtils]: 0: Hoare triple {55026#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,485 INFO L290 TraceCheckUtils]: 1: Hoare triple {55028#(= 1 (select |#valid| 5))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,486 INFO L272 TraceCheckUtils]: 2: Hoare triple {55028#(= 1 (select |#valid| 5))} call parse_input(3, 0); {55071#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:33,486 INFO L290 TraceCheckUtils]: 3: Hoare triple {55071#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,486 INFO L290 TraceCheckUtils]: 4: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,487 INFO L290 TraceCheckUtils]: 5: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,487 INFO L290 TraceCheckUtils]: 6: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,488 INFO L290 TraceCheckUtils]: 8: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,488 INFO L290 TraceCheckUtils]: 9: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,488 INFO L290 TraceCheckUtils]: 10: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,489 INFO L290 TraceCheckUtils]: 11: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,489 INFO L290 TraceCheckUtils]: 12: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,489 INFO L290 TraceCheckUtils]: 13: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,490 INFO L290 TraceCheckUtils]: 14: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,490 INFO L290 TraceCheckUtils]: 15: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:33,491 INFO L290 TraceCheckUtils]: 16: Hoare triple {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:33,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:33,492 INFO L290 TraceCheckUtils]: 18: Hoare triple {55073#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:33,492 INFO L290 TraceCheckUtils]: 19: Hoare triple {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume { :end_inline_c1 } true; {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:33,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:33,493 INFO L290 TraceCheckUtils]: 21: Hoare triple {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume true; {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:33,493 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {55074#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} {55028#(= 1 (select |#valid| 5))} #107#return; {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,494 INFO L272 TraceCheckUtils]: 23: Hoare triple {55028#(= 1 (select |#valid| 5))} call parse_input(4, 0); {55071#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:33,494 INFO L290 TraceCheckUtils]: 24: Hoare triple {55071#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,495 INFO L290 TraceCheckUtils]: 25: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,495 INFO L290 TraceCheckUtils]: 26: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,495 INFO L290 TraceCheckUtils]: 27: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,496 INFO L290 TraceCheckUtils]: 28: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,496 INFO L290 TraceCheckUtils]: 29: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,496 INFO L290 TraceCheckUtils]: 30: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,497 INFO L290 TraceCheckUtils]: 31: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,497 INFO L290 TraceCheckUtils]: 32: Hoare triple {55072#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,497 INFO L290 TraceCheckUtils]: 33: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,498 INFO L290 TraceCheckUtils]: 34: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,498 INFO L290 TraceCheckUtils]: 35: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,498 INFO L290 TraceCheckUtils]: 36: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,499 INFO L290 TraceCheckUtils]: 37: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,499 INFO L290 TraceCheckUtils]: 38: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,499 INFO L290 TraceCheckUtils]: 39: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,500 INFO L290 TraceCheckUtils]: 40: Hoare triple {55072#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,500 INFO L290 TraceCheckUtils]: 41: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,500 INFO L290 TraceCheckUtils]: 42: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume true; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,501 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {55072#(= |old(#valid)| |#valid|)} {55028#(= 1 (select |#valid| 5))} #109#return; {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,501 INFO L272 TraceCheckUtils]: 44: Hoare triple {55028#(= 1 (select |#valid| 5))} call parse_input(5, 0); {55069#(and (= 1 (select |#valid| 5)) (= |parse_input_#in~input#1.base| 5))} is VALID [2022-02-20 23:38:33,502 INFO L290 TraceCheckUtils]: 45: Hoare triple {55069#(and (= 1 (select |#valid| 5)) (= |parse_input_#in~input#1.base| 5))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:33,502 INFO L290 TraceCheckUtils]: 46: Hoare triple {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume !!(~i~0#1 < 2); {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:33,502 INFO L290 TraceCheckUtils]: 47: Hoare triple {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:33,502 INFO L290 TraceCheckUtils]: 48: Hoare triple {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume 1 == #valid[#t~mem3#1.base]; {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:33,503 INFO L290 TraceCheckUtils]: 49: Hoare triple {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:33,503 INFO L290 TraceCheckUtils]: 50: Hoare triple {55070#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume !(1 == #valid[~input#1.base]); {55027#false} is VALID [2022-02-20 23:38:33,503 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 2 proven. 18 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 23:38:33,503 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:33,504 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [105949201] [2022-02-20 23:38:33,504 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [105949201] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:33,504 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2005389537] [2022-02-20 23:38:33,504 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:33,504 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:33,504 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:33,516 INFO L229 MonitoredProcess]: Starting monitored process 22 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:38:33,517 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Waiting until timeout for monitored process [2022-02-20 23:38:33,589 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:33,591 INFO L263 TraceCheckSpWp]: Trace formula consists of 295 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:38:33,599 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:33,600 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:33,760 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:38:33,761 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 23:38:33,850 INFO L290 TraceCheckUtils]: 0: Hoare triple {55026#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,851 INFO L290 TraceCheckUtils]: 1: Hoare triple {55028#(= 1 (select |#valid| 5))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,851 INFO L272 TraceCheckUtils]: 2: Hoare triple {55028#(= 1 (select |#valid| 5))} call parse_input(3, 0); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,852 INFO L290 TraceCheckUtils]: 3: Hoare triple {55072#(= |old(#valid)| |#valid|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,852 INFO L290 TraceCheckUtils]: 4: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,852 INFO L290 TraceCheckUtils]: 5: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,853 INFO L290 TraceCheckUtils]: 6: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,853 INFO L290 TraceCheckUtils]: 7: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,853 INFO L290 TraceCheckUtils]: 8: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,853 INFO L290 TraceCheckUtils]: 9: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,854 INFO L290 TraceCheckUtils]: 10: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,854 INFO L290 TraceCheckUtils]: 11: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,855 INFO L290 TraceCheckUtils]: 12: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,855 INFO L290 TraceCheckUtils]: 13: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,855 INFO L290 TraceCheckUtils]: 14: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,856 INFO L290 TraceCheckUtils]: 15: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} is VALID [2022-02-20 23:38:33,857 INFO L290 TraceCheckUtils]: 16: Hoare triple {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} is VALID [2022-02-20 23:38:33,857 INFO L290 TraceCheckUtils]: 17: Hoare triple {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} is VALID [2022-02-20 23:38:33,858 INFO L290 TraceCheckUtils]: 18: Hoare triple {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} is VALID [2022-02-20 23:38:33,858 INFO L290 TraceCheckUtils]: 19: Hoare triple {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} assume { :end_inline_c1 } true; {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} is VALID [2022-02-20 23:38:33,859 INFO L290 TraceCheckUtils]: 20: Hoare triple {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} is VALID [2022-02-20 23:38:33,859 INFO L290 TraceCheckUtils]: 21: Hoare triple {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} assume true; {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} is VALID [2022-02-20 23:38:33,860 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {55123#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (exists ((v_ArrVal_194 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_194) |#valid|))))} {55028#(= 1 (select |#valid| 5))} #107#return; {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,860 INFO L272 TraceCheckUtils]: 23: Hoare triple {55028#(= 1 (select |#valid| 5))} call parse_input(4, 0); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,861 INFO L290 TraceCheckUtils]: 24: Hoare triple {55072#(= |old(#valid)| |#valid|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,861 INFO L290 TraceCheckUtils]: 25: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,861 INFO L290 TraceCheckUtils]: 26: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,862 INFO L290 TraceCheckUtils]: 27: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,862 INFO L290 TraceCheckUtils]: 28: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,862 INFO L290 TraceCheckUtils]: 29: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,863 INFO L290 TraceCheckUtils]: 30: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,863 INFO L290 TraceCheckUtils]: 31: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,863 INFO L290 TraceCheckUtils]: 32: Hoare triple {55072#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,863 INFO L290 TraceCheckUtils]: 33: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,864 INFO L290 TraceCheckUtils]: 34: Hoare triple {55072#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,864 INFO L290 TraceCheckUtils]: 35: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,868 INFO L290 TraceCheckUtils]: 36: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,869 INFO L290 TraceCheckUtils]: 37: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,869 INFO L290 TraceCheckUtils]: 38: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,869 INFO L290 TraceCheckUtils]: 39: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,870 INFO L290 TraceCheckUtils]: 40: Hoare triple {55072#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,870 INFO L290 TraceCheckUtils]: 41: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume !(~i~0#1 < 2); {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,870 INFO L290 TraceCheckUtils]: 42: Hoare triple {55072#(= |old(#valid)| |#valid|)} assume true; {55072#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:33,871 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {55072#(= |old(#valid)| |#valid|)} {55028#(= 1 (select |#valid| 5))} #109#return; {55028#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:33,871 INFO L272 TraceCheckUtils]: 44: Hoare triple {55028#(= 1 (select |#valid| 5))} call parse_input(5, 0); {55069#(and (= 1 (select |#valid| 5)) (= |parse_input_#in~input#1.base| 5))} is VALID [2022-02-20 23:38:33,872 INFO L290 TraceCheckUtils]: 45: Hoare triple {55069#(and (= 1 (select |#valid| 5)) (= |parse_input_#in~input#1.base| 5))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:33,872 INFO L290 TraceCheckUtils]: 46: Hoare triple {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} assume !!(~i~0#1 < 2); {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:33,872 INFO L290 TraceCheckUtils]: 47: Hoare triple {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:33,873 INFO L290 TraceCheckUtils]: 48: Hoare triple {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} assume 1 == #valid[#t~mem3#1.base]; {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:33,873 INFO L290 TraceCheckUtils]: 49: Hoare triple {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:33,873 INFO L290 TraceCheckUtils]: 50: Hoare triple {55214#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} assume !(1 == #valid[~input#1.base]); {55027#false} is VALID [2022-02-20 23:38:33,874 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 23:38:33,874 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:34,077 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2005389537] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:34,077 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:34,077 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 9 [2022-02-20 23:38:34,077 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [850042799] [2022-02-20 23:38:34,077 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:34,078 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 51 [2022-02-20 23:38:34,078 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:34,078 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:34,111 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:38:34,111 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:38:34,111 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:34,111 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:38:34,111 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=137, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:38:34,112 INFO L87 Difference]: Start difference. First operand 322 states and 380 transitions. Second operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:34,620 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:34,620 INFO L93 Difference]: Finished difference Result 343 states and 396 transitions. [2022-02-20 23:38:34,620 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 23:38:34,620 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 51 [2022-02-20 23:38:34,620 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:34,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:34,621 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 128 transitions. [2022-02-20 23:38:34,621 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:34,622 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 128 transitions. [2022-02-20 23:38:34,622 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 128 transitions. [2022-02-20 23:38:34,713 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:34,717 INFO L225 Difference]: With dead ends: 343 [2022-02-20 23:38:34,717 INFO L226 Difference]: Without dead ends: 343 [2022-02-20 23:38:34,718 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 100 GetRequests, 79 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=138, Invalid=368, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:38:34,718 INFO L933 BasicCegarLoop]: 34 mSDtfsCounter, 232 mSDsluCounter, 112 mSDsCounter, 0 mSdLazyCounter, 210 mSolverCounterSat, 18 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 232 SdHoareTripleChecker+Valid, 146 SdHoareTripleChecker+Invalid, 298 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 18 IncrementalHoareTripleChecker+Valid, 210 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 70 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:34,718 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [232 Valid, 146 Invalid, 298 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [18 Valid, 210 Invalid, 0 Unknown, 70 Unchecked, 0.1s Time] [2022-02-20 23:38:34,718 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 343 states. [2022-02-20 23:38:34,721 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 343 to 322. [2022-02-20 23:38:34,721 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:34,721 INFO L82 GeneralOperation]: Start isEquivalent. First operand 343 states. Second operand has 322 states, 292 states have (on average 1.2157534246575343) internal successors, (355), 305 states have internal predecessors, (355), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:34,722 INFO L74 IsIncluded]: Start isIncluded. First operand 343 states. Second operand has 322 states, 292 states have (on average 1.2157534246575343) internal successors, (355), 305 states have internal predecessors, (355), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:34,722 INFO L87 Difference]: Start difference. First operand 343 states. Second operand has 322 states, 292 states have (on average 1.2157534246575343) internal successors, (355), 305 states have internal predecessors, (355), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:34,726 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:34,726 INFO L93 Difference]: Finished difference Result 343 states and 396 transitions. [2022-02-20 23:38:34,726 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 396 transitions. [2022-02-20 23:38:34,726 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:34,726 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:34,727 INFO L74 IsIncluded]: Start isIncluded. First operand has 322 states, 292 states have (on average 1.2157534246575343) internal successors, (355), 305 states have internal predecessors, (355), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 343 states. [2022-02-20 23:38:34,727 INFO L87 Difference]: Start difference. First operand has 322 states, 292 states have (on average 1.2157534246575343) internal successors, (355), 305 states have internal predecessors, (355), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 343 states. [2022-02-20 23:38:34,731 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:34,731 INFO L93 Difference]: Finished difference Result 343 states and 396 transitions. [2022-02-20 23:38:34,731 INFO L276 IsEmpty]: Start isEmpty. Operand 343 states and 396 transitions. [2022-02-20 23:38:34,732 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:34,732 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:34,732 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:34,732 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:34,732 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 322 states, 292 states have (on average 1.2157534246575343) internal successors, (355), 305 states have internal predecessors, (355), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:34,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 378 transitions. [2022-02-20 23:38:34,736 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 378 transitions. Word has length 51 [2022-02-20 23:38:34,736 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:34,737 INFO L470 AbstractCegarLoop]: Abstraction has 322 states and 378 transitions. [2022-02-20 23:38:34,737 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:34,737 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 378 transitions. [2022-02-20 23:38:34,737 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 52 [2022-02-20 23:38:34,737 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:34,737 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:34,754 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (22)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:34,954 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable31,22 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:34,954 INFO L402 AbstractCegarLoop]: === Iteration 33 === Targeting parse_inputErr4ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:34,955 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:34,955 INFO L85 PathProgramCache]: Analyzing trace with hash -2001887703, now seen corresponding path program 2 times [2022-02-20 23:38:34,955 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:34,955 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [645354442] [2022-02-20 23:38:34,955 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:34,955 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:34,978 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:35,006 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:35,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:35,020 INFO L290 TraceCheckUtils]: 0: Hoare triple {56734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,021 INFO L290 TraceCheckUtils]: 1: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,021 INFO L290 TraceCheckUtils]: 2: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,021 INFO L290 TraceCheckUtils]: 3: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,022 INFO L290 TraceCheckUtils]: 4: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,022 INFO L290 TraceCheckUtils]: 5: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,022 INFO L290 TraceCheckUtils]: 6: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,023 INFO L290 TraceCheckUtils]: 7: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,023 INFO L290 TraceCheckUtils]: 8: Hoare triple {56735#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,023 INFO L290 TraceCheckUtils]: 9: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,024 INFO L290 TraceCheckUtils]: 10: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,024 INFO L290 TraceCheckUtils]: 11: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,024 INFO L290 TraceCheckUtils]: 12: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,025 INFO L290 TraceCheckUtils]: 13: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,025 INFO L290 TraceCheckUtils]: 14: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,025 INFO L290 TraceCheckUtils]: 15: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,026 INFO L290 TraceCheckUtils]: 16: Hoare triple {56735#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,026 INFO L290 TraceCheckUtils]: 17: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,026 INFO L290 TraceCheckUtils]: 18: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume true; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,027 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {56735#(= |old(#valid)| |#valid|)} {56691#(= 1 (select |#valid| 5))} #107#return; {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,027 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 23:38:35,033 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:35,065 INFO L290 TraceCheckUtils]: 0: Hoare triple {56734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,065 INFO L290 TraceCheckUtils]: 1: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,066 INFO L290 TraceCheckUtils]: 2: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,066 INFO L290 TraceCheckUtils]: 3: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,067 INFO L290 TraceCheckUtils]: 4: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,067 INFO L290 TraceCheckUtils]: 5: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,067 INFO L290 TraceCheckUtils]: 6: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,068 INFO L290 TraceCheckUtils]: 7: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,068 INFO L290 TraceCheckUtils]: 8: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,069 INFO L290 TraceCheckUtils]: 9: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,069 INFO L290 TraceCheckUtils]: 10: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,070 INFO L290 TraceCheckUtils]: 11: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,070 INFO L290 TraceCheckUtils]: 12: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:35,071 INFO L290 TraceCheckUtils]: 13: Hoare triple {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:35,071 INFO L290 TraceCheckUtils]: 14: Hoare triple {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:35,072 INFO L290 TraceCheckUtils]: 15: Hoare triple {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:35,072 INFO L290 TraceCheckUtils]: 16: Hoare triple {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume { :end_inline_c1 } true; {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:35,072 INFO L290 TraceCheckUtils]: 17: Hoare triple {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:35,073 INFO L290 TraceCheckUtils]: 18: Hoare triple {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume true; {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:35,073 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} {56691#(= 1 (select |#valid| 5))} #109#return; {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,074 INFO L290 TraceCheckUtils]: 0: Hoare triple {56689#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {56691#(= 1 (select |#valid| 5))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,076 INFO L272 TraceCheckUtils]: 2: Hoare triple {56691#(= 1 (select |#valid| 5))} call parse_input(3, 0); {56734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:35,076 INFO L290 TraceCheckUtils]: 3: Hoare triple {56734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,076 INFO L290 TraceCheckUtils]: 4: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,077 INFO L290 TraceCheckUtils]: 5: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,077 INFO L290 TraceCheckUtils]: 6: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,078 INFO L290 TraceCheckUtils]: 7: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,078 INFO L290 TraceCheckUtils]: 8: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,078 INFO L290 TraceCheckUtils]: 9: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,080 INFO L290 TraceCheckUtils]: 10: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,080 INFO L290 TraceCheckUtils]: 11: Hoare triple {56735#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,080 INFO L290 TraceCheckUtils]: 12: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,081 INFO L290 TraceCheckUtils]: 13: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,081 INFO L290 TraceCheckUtils]: 14: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,082 INFO L290 TraceCheckUtils]: 15: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,082 INFO L290 TraceCheckUtils]: 16: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,082 INFO L290 TraceCheckUtils]: 17: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,083 INFO L290 TraceCheckUtils]: 18: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,083 INFO L290 TraceCheckUtils]: 19: Hoare triple {56735#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,083 INFO L290 TraceCheckUtils]: 20: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,084 INFO L290 TraceCheckUtils]: 21: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume true; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,084 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {56735#(= |old(#valid)| |#valid|)} {56691#(= 1 (select |#valid| 5))} #107#return; {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,085 INFO L272 TraceCheckUtils]: 23: Hoare triple {56691#(= 1 (select |#valid| 5))} call parse_input(4, 0); {56734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:35,085 INFO L290 TraceCheckUtils]: 24: Hoare triple {56734#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,086 INFO L290 TraceCheckUtils]: 25: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,086 INFO L290 TraceCheckUtils]: 26: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,086 INFO L290 TraceCheckUtils]: 27: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,087 INFO L290 TraceCheckUtils]: 28: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,095 INFO L290 TraceCheckUtils]: 29: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,096 INFO L290 TraceCheckUtils]: 30: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,096 INFO L290 TraceCheckUtils]: 31: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,096 INFO L290 TraceCheckUtils]: 32: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,097 INFO L290 TraceCheckUtils]: 33: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,097 INFO L290 TraceCheckUtils]: 34: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,098 INFO L290 TraceCheckUtils]: 35: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,098 INFO L290 TraceCheckUtils]: 36: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:35,099 INFO L290 TraceCheckUtils]: 37: Hoare triple {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:35,099 INFO L290 TraceCheckUtils]: 38: Hoare triple {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} is VALID [2022-02-20 23:38:35,100 INFO L290 TraceCheckUtils]: 39: Hoare triple {56736#(and (or (= |parse_input_c1_~x~0#1.base| 5) (= (select |old(#valid)| 5) (select |#valid| 5))) (or (= (select |old(#valid)| 5) 0) (not (= |parse_input_c1_~x~0#1.base| 5))))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:35,100 INFO L290 TraceCheckUtils]: 40: Hoare triple {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume { :end_inline_c1 } true; {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:35,100 INFO L290 TraceCheckUtils]: 41: Hoare triple {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:35,101 INFO L290 TraceCheckUtils]: 42: Hoare triple {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} assume true; {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} is VALID [2022-02-20 23:38:35,101 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {56737#(or (= (select |old(#valid)| 5) 0) (= (select |old(#valid)| 5) (select |#valid| 5)))} {56691#(= 1 (select |#valid| 5))} #109#return; {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,102 INFO L272 TraceCheckUtils]: 44: Hoare triple {56691#(= 1 (select |#valid| 5))} call parse_input(5, 0); {56732#(and (= 1 (select |#valid| 5)) (= |parse_input_#in~input#1.base| 5))} is VALID [2022-02-20 23:38:35,102 INFO L290 TraceCheckUtils]: 45: Hoare triple {56732#(and (= 1 (select |#valid| 5)) (= |parse_input_#in~input#1.base| 5))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:35,102 INFO L290 TraceCheckUtils]: 46: Hoare triple {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume !!(~i~0#1 < 2); {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:35,103 INFO L290 TraceCheckUtils]: 47: Hoare triple {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:35,103 INFO L290 TraceCheckUtils]: 48: Hoare triple {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume 1 == #valid[#t~mem3#1.base]; {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:35,103 INFO L290 TraceCheckUtils]: 49: Hoare triple {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} is VALID [2022-02-20 23:38:35,103 INFO L290 TraceCheckUtils]: 50: Hoare triple {56733#(= (select |#valid| |parse_input_~input#1.base|) 1)} assume !(1 == #valid[~input#1.base]); {56690#false} is VALID [2022-02-20 23:38:35,104 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 23:38:35,104 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:35,104 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [645354442] [2022-02-20 23:38:35,105 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [645354442] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:35,106 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2101108894] [2022-02-20 23:38:35,106 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:38:35,107 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:35,107 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:35,108 INFO L229 MonitoredProcess]: Starting monitored process 23 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:38:35,109 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Waiting until timeout for monitored process [2022-02-20 23:38:35,178 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:38:35,178 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:38:35,180 INFO L263 TraceCheckSpWp]: Trace formula consists of 295 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:38:35,188 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:35,189 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:35,438 INFO L356 Elim1Store]: treesize reduction 18, result has 35.7 percent of original size [2022-02-20 23:38:35,438 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 17 treesize of output 21 [2022-02-20 23:38:35,479 INFO L290 TraceCheckUtils]: 0: Hoare triple {56689#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,480 INFO L290 TraceCheckUtils]: 1: Hoare triple {56691#(= 1 (select |#valid| 5))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,480 INFO L272 TraceCheckUtils]: 2: Hoare triple {56691#(= 1 (select |#valid| 5))} call parse_input(3, 0); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,481 INFO L290 TraceCheckUtils]: 3: Hoare triple {56735#(= |old(#valid)| |#valid|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,481 INFO L290 TraceCheckUtils]: 4: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,481 INFO L290 TraceCheckUtils]: 5: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,482 INFO L290 TraceCheckUtils]: 6: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,482 INFO L290 TraceCheckUtils]: 7: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,482 INFO L290 TraceCheckUtils]: 8: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,483 INFO L290 TraceCheckUtils]: 10: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,483 INFO L290 TraceCheckUtils]: 11: Hoare triple {56735#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,484 INFO L290 TraceCheckUtils]: 12: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,484 INFO L290 TraceCheckUtils]: 13: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,484 INFO L290 TraceCheckUtils]: 14: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,485 INFO L290 TraceCheckUtils]: 15: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,485 INFO L290 TraceCheckUtils]: 16: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,485 INFO L290 TraceCheckUtils]: 17: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,499 INFO L290 TraceCheckUtils]: 18: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(0 == #t~nondet4#1);havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,500 INFO L290 TraceCheckUtils]: 19: Hoare triple {56735#(= |old(#valid)| |#valid|)} #t~post2#1 := ~i~0#1;~i~0#1 := 1 + #t~post2#1;havoc #t~post2#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,500 INFO L290 TraceCheckUtils]: 20: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,500 INFO L290 TraceCheckUtils]: 21: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume true; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,501 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {56735#(= |old(#valid)| |#valid|)} {56691#(= 1 (select |#valid| 5))} #107#return; {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,502 INFO L272 TraceCheckUtils]: 23: Hoare triple {56691#(= 1 (select |#valid| 5))} call parse_input(4, 0); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,502 INFO L290 TraceCheckUtils]: 24: Hoare triple {56735#(= |old(#valid)| |#valid|)} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,502 INFO L290 TraceCheckUtils]: 25: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !!(~i~0#1 < 2); {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,503 INFO L290 TraceCheckUtils]: 26: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,503 INFO L290 TraceCheckUtils]: 27: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[#t~mem3#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,503 INFO L290 TraceCheckUtils]: 28: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,504 INFO L290 TraceCheckUtils]: 29: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 1 == #valid[~input#1.base]; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,504 INFO L290 TraceCheckUtils]: 30: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,504 INFO L290 TraceCheckUtils]: 31: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,505 INFO L290 TraceCheckUtils]: 32: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,505 INFO L290 TraceCheckUtils]: 33: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,506 INFO L290 TraceCheckUtils]: 34: Hoare triple {56735#(= |old(#valid)| |#valid|)} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,506 INFO L290 TraceCheckUtils]: 35: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {56735#(= |old(#valid)| |#valid|)} is VALID [2022-02-20 23:38:35,507 INFO L290 TraceCheckUtils]: 36: Hoare triple {56735#(= |old(#valid)| |#valid|)} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:35,507 INFO L290 TraceCheckUtils]: 37: Hoare triple {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:35,508 INFO L290 TraceCheckUtils]: 38: Hoare triple {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:35,508 INFO L290 TraceCheckUtils]: 39: Hoare triple {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:35,509 INFO L290 TraceCheckUtils]: 40: Hoare triple {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume { :end_inline_c1 } true; {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:35,509 INFO L290 TraceCheckUtils]: 41: Hoare triple {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:35,510 INFO L290 TraceCheckUtils]: 42: Hoare triple {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} assume true; {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} is VALID [2022-02-20 23:38:35,511 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {56849#(exists ((|parse_input_c1_~x~0#1.base| Int)) (and (exists ((v_ArrVal_204 Int)) (= (store |old(#valid)| |parse_input_c1_~x~0#1.base| v_ArrVal_204) |#valid|)) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0)))} {56691#(= 1 (select |#valid| 5))} #109#return; {56691#(= 1 (select |#valid| 5))} is VALID [2022-02-20 23:38:35,511 INFO L272 TraceCheckUtils]: 44: Hoare triple {56691#(= 1 (select |#valid| 5))} call parse_input(5, 0); {56732#(and (= 1 (select |#valid| 5)) (= |parse_input_#in~input#1.base| 5))} is VALID [2022-02-20 23:38:35,511 INFO L290 TraceCheckUtils]: 45: Hoare triple {56732#(and (= 1 (select |#valid| 5)) (= |parse_input_#in~input#1.base| 5))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:35,512 INFO L290 TraceCheckUtils]: 46: Hoare triple {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} assume !!(~i~0#1 < 2); {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:35,512 INFO L290 TraceCheckUtils]: 47: Hoare triple {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:35,513 INFO L290 TraceCheckUtils]: 48: Hoare triple {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} assume 1 == #valid[#t~mem3#1.base]; {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:35,513 INFO L290 TraceCheckUtils]: 49: Hoare triple {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} is VALID [2022-02-20 23:38:35,513 INFO L290 TraceCheckUtils]: 50: Hoare triple {56877#(and (= 1 (select |#valid| 5)) (= 5 |parse_input_~input#1.base|))} assume !(1 == #valid[~input#1.base]); {56690#false} is VALID [2022-02-20 23:38:35,514 INFO L134 CoverageAnalysis]: Checked inductivity of 46 backedges. 0 proven. 20 refuted. 0 times theorem prover too weak. 26 trivial. 0 not checked. [2022-02-20 23:38:35,514 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:35,611 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2101108894] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:35,612 INFO L191 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-02-20 23:38:35,612 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5] total 9 [2022-02-20 23:38:35,612 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1950210896] [2022-02-20 23:38:35,612 INFO L85 oduleStraightlineAll]: Using 2 imperfect interpolants to construct interpolant automaton [2022-02-20 23:38:35,612 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 51 [2022-02-20 23:38:35,613 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:38:35,613 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:35,645 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:38:35,646 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:38:35,646 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:38:35,646 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:38:35,646 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=121, Unknown=0, NotChecked=0, Total=156 [2022-02-20 23:38:35,646 INFO L87 Difference]: Start difference. First operand 322 states and 378 transitions. Second operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:36,147 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:36,147 INFO L93 Difference]: Finished difference Result 342 states and 391 transitions. [2022-02-20 23:38:36,147 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-02-20 23:38:36,147 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) Word has length 51 [2022-02-20 23:38:36,148 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:38:36,148 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:36,148 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 128 transitions. [2022-02-20 23:38:36,149 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:36,149 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 128 transitions. [2022-02-20 23:38:36,149 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 14 states and 128 transitions. [2022-02-20 23:38:36,242 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 128 edges. 128 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:38:36,246 INFO L225 Difference]: With dead ends: 342 [2022-02-20 23:38:36,246 INFO L226 Difference]: Without dead ends: 342 [2022-02-20 23:38:36,247 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 79 GetRequests, 59 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 61 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=119, Invalid=343, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:38:36,247 INFO L933 BasicCegarLoop]: 37 mSDtfsCounter, 214 mSDsluCounter, 104 mSDsCounter, 0 mSdLazyCounter, 205 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 214 SdHoareTripleChecker+Valid, 141 SdHoareTripleChecker+Invalid, 269 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 205 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 49 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:38:36,247 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [214 Valid, 141 Invalid, 269 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 205 Invalid, 0 Unknown, 49 Unchecked, 0.1s Time] [2022-02-20 23:38:36,248 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 342 states. [2022-02-20 23:38:36,250 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 342 to 322. [2022-02-20 23:38:36,250 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:38:36,251 INFO L82 GeneralOperation]: Start isEquivalent. First operand 342 states. Second operand has 322 states, 292 states have (on average 1.2123287671232876) internal successors, (354), 305 states have internal predecessors, (354), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:36,251 INFO L74 IsIncluded]: Start isIncluded. First operand 342 states. Second operand has 322 states, 292 states have (on average 1.2123287671232876) internal successors, (354), 305 states have internal predecessors, (354), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:36,251 INFO L87 Difference]: Start difference. First operand 342 states. Second operand has 322 states, 292 states have (on average 1.2123287671232876) internal successors, (354), 305 states have internal predecessors, (354), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:36,255 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:36,256 INFO L93 Difference]: Finished difference Result 342 states and 391 transitions. [2022-02-20 23:38:36,256 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 391 transitions. [2022-02-20 23:38:36,256 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:36,256 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:36,257 INFO L74 IsIncluded]: Start isIncluded. First operand has 322 states, 292 states have (on average 1.2123287671232876) internal successors, (354), 305 states have internal predecessors, (354), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 342 states. [2022-02-20 23:38:36,257 INFO L87 Difference]: Start difference. First operand has 322 states, 292 states have (on average 1.2123287671232876) internal successors, (354), 305 states have internal predecessors, (354), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) Second operand 342 states. [2022-02-20 23:38:36,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:38:36,262 INFO L93 Difference]: Finished difference Result 342 states and 391 transitions. [2022-02-20 23:38:36,262 INFO L276 IsEmpty]: Start isEmpty. Operand 342 states and 391 transitions. [2022-02-20 23:38:36,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:38:36,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:38:36,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:38:36,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:38:36,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 322 states, 292 states have (on average 1.2123287671232876) internal successors, (354), 305 states have internal predecessors, (354), 8 states have call successors, (8), 8 states have call predecessors, (8), 12 states have return successors, (15), 8 states have call predecessors, (15), 8 states have call successors, (15) [2022-02-20 23:38:36,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 322 states to 322 states and 377 transitions. [2022-02-20 23:38:36,267 INFO L78 Accepts]: Start accepts. Automaton has 322 states and 377 transitions. Word has length 51 [2022-02-20 23:38:36,267 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:38:36,267 INFO L470 AbstractCegarLoop]: Abstraction has 322 states and 377 transitions. [2022-02-20 23:38:36,268 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 4.5) internal successors, (45), 8 states have internal predecessors, (45), 1 states have call successors, (5), 3 states have call predecessors, (5), 3 states have return successors, (3), 1 states have call predecessors, (3), 1 states have call successors, (3) [2022-02-20 23:38:36,268 INFO L276 IsEmpty]: Start isEmpty. Operand 322 states and 377 transitions. [2022-02-20 23:38:36,268 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-02-20 23:38:36,268 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:38:36,268 INFO L514 BasicCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:38:36,287 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (23)] Forceful destruction successful, exit code 0 [2022-02-20 23:38:36,481 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable32,23 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:36,481 INFO L402 AbstractCegarLoop]: === Iteration 34 === Targeting parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE === [parse_inputErr0REQUIRES_VIOLATION, parse_inputErr1REQUIRES_VIOLATION, parse_inputErr2ASSERT_VIOLATIONMEMORY_DEREFERENCE, parse_inputErr3ASSERT_VIOLATIONMEMORY_DEREFERENCE (and 19 more)] === [2022-02-20 23:38:36,481 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:38:36,481 INFO L85 PathProgramCache]: Analyzing trace with hash -1016532274, now seen corresponding path program 1 times [2022-02-20 23:38:36,481 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:38:36,482 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1178809486] [2022-02-20 23:38:36,482 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:36,482 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:38:36,506 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:36,578 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 2 [2022-02-20 23:38:36,585 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:36,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {58335#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {58336#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:36,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {58336#(= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {58336#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:36,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {58336#(= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {58337#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,712 INFO L290 TraceCheckUtils]: 3: Hoare triple {58337#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {58338#(and (= |parse_input_~i~0#1| 0) (or (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,713 INFO L290 TraceCheckUtils]: 4: Hoare triple {58338#(and (= |parse_input_~i~0#1| 0) (or (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,713 INFO L290 TraceCheckUtils]: 5: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume 1 == #valid[~input#1.base]; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,714 INFO L290 TraceCheckUtils]: 6: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,714 INFO L290 TraceCheckUtils]: 7: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,715 INFO L290 TraceCheckUtils]: 8: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,715 INFO L290 TraceCheckUtils]: 9: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,716 INFO L290 TraceCheckUtils]: 10: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {58340#(or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,716 INFO L290 TraceCheckUtils]: 11: Hoare triple {58340#(or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {58340#(or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,717 INFO L290 TraceCheckUtils]: 12: Hoare triple {58340#(or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,717 INFO L290 TraceCheckUtils]: 13: Hoare triple {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,717 INFO L290 TraceCheckUtils]: 14: Hoare triple {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,718 INFO L290 TraceCheckUtils]: 15: Hoare triple {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,718 INFO L290 TraceCheckUtils]: 16: Hoare triple {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume { :end_inline_c1 } true; {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,719 INFO L290 TraceCheckUtils]: 17: Hoare triple {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,719 INFO L290 TraceCheckUtils]: 18: Hoare triple {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume true; {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,720 INFO L284 TraceCheckUtils]: 19: Hoare quadruple {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} {58287#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {58308#(and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:36,720 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 23 [2022-02-20 23:38:36,728 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:36,940 INFO L290 TraceCheckUtils]: 0: Hoare triple {58335#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {58343#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {58343#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_~i~0#1| 0))} assume !!(~i~0#1 < 2); {58343#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {58343#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {58344#(and (or (and (or (= ~global~0.base |parse_input_#t~mem3#1.base|) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= ~global~0.base |parse_input_#t~mem3#1.base|)))) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,942 INFO L290 TraceCheckUtils]: 3: Hoare triple {58344#(and (or (and (or (= ~global~0.base |parse_input_#t~mem3#1.base|) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= ~global~0.base |parse_input_#t~mem3#1.base|)))) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {58345#(and (or (and (or (= ~global~0.base |parse_input_#t~mem3#1.base|) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= ~global~0.base |parse_input_#t~mem3#1.base|)))) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,942 INFO L290 TraceCheckUtils]: 4: Hoare triple {58345#(and (or (and (or (= ~global~0.base |parse_input_#t~mem3#1.base|) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= ~global~0.base |parse_input_#t~mem3#1.base|)))) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,943 INFO L290 TraceCheckUtils]: 5: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[~input#1.base]; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,943 INFO L290 TraceCheckUtils]: 6: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,945 INFO L290 TraceCheckUtils]: 8: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,945 INFO L290 TraceCheckUtils]: 9: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,946 INFO L290 TraceCheckUtils]: 10: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,946 INFO L290 TraceCheckUtils]: 11: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,947 INFO L290 TraceCheckUtils]: 12: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,947 INFO L290 TraceCheckUtils]: 13: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,948 INFO L290 TraceCheckUtils]: 14: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume ~global~0.base != 0 || ~global~0.offset != 0; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,948 INFO L290 TraceCheckUtils]: 15: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume 0 == ~global~0.offset; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,949 INFO L290 TraceCheckUtils]: 16: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume ~global~0.base < #StackHeapBarrier; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,949 INFO L290 TraceCheckUtils]: 17: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,950 INFO L290 TraceCheckUtils]: 18: Hoare triple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,950 INFO L290 TraceCheckUtils]: 19: Hoare triple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} assume { :end_inline_c1 } true; {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,950 INFO L290 TraceCheckUtils]: 20: Hoare triple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,951 INFO L290 TraceCheckUtils]: 21: Hoare triple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} assume true; {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,952 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} {58308#(and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #109#return; {58332#(and (<= 0 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:36,953 INFO L290 TraceCheckUtils]: 0: Hoare triple {58285#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {58287#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:36,953 INFO L290 TraceCheckUtils]: 1: Hoare triple {58287#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {58287#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:36,954 INFO L272 TraceCheckUtils]: 2: Hoare triple {58287#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(3, 0); {58335#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:36,954 INFO L290 TraceCheckUtils]: 3: Hoare triple {58335#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {58336#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:36,954 INFO L290 TraceCheckUtils]: 4: Hoare triple {58336#(= |parse_input_~i~0#1| 0)} assume !!(~i~0#1 < 2); {58336#(= |parse_input_~i~0#1| 0)} is VALID [2022-02-20 23:38:36,955 INFO L290 TraceCheckUtils]: 5: Hoare triple {58336#(= |parse_input_~i~0#1| 0)} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {58337#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,955 INFO L290 TraceCheckUtils]: 6: Hoare triple {58337#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {58338#(and (= |parse_input_~i~0#1| 0) (or (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {58338#(and (= |parse_input_~i~0#1| 0) (or (and (not (= (select |#valid| |parse_input_#t~mem3#1.base|) 0)) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume 1 == #valid[~input#1.base]; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,957 INFO L290 TraceCheckUtils]: 10: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,957 INFO L290 TraceCheckUtils]: 11: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,958 INFO L290 TraceCheckUtils]: 12: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} is VALID [2022-02-20 23:38:36,958 INFO L290 TraceCheckUtils]: 13: Hoare triple {58339#(and (= |parse_input_~i~0#1| 0) (or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {58340#(or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {58340#(or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {58340#(or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {58340#(or (not (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 0)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,960 INFO L290 TraceCheckUtils]: 17: Hoare triple {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,960 INFO L290 TraceCheckUtils]: 18: Hoare triple {58341#(or (<= (+ |~#commands~0.offset| 1) 0) (not (= |parse_input_c1_~x~0#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0))) (<= 1 |~#commands~0.offset|))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,961 INFO L290 TraceCheckUtils]: 19: Hoare triple {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume { :end_inline_c1 } true; {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,961 INFO L290 TraceCheckUtils]: 21: Hoare triple {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} assume true; {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} is VALID [2022-02-20 23:38:36,962 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {58342#(or (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|))} {58287#(and (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #107#return; {58308#(and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:36,963 INFO L272 TraceCheckUtils]: 23: Hoare triple {58308#(and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} call parse_input(4, 0); {58335#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:36,963 INFO L290 TraceCheckUtils]: 24: Hoare triple {58335#(and (= ~global~0.base |old(~global~0.base)|) (= |old(#length)| |#length|) (= |old(~global~0.offset)| ~global~0.offset) (= ~state~0 |old(~state~0)|) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {58343#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,963 INFO L290 TraceCheckUtils]: 25: Hoare triple {58343#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_~i~0#1| 0))} assume !!(~i~0#1 < 2); {58343#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,964 INFO L290 TraceCheckUtils]: 26: Hoare triple {58343#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {58344#(and (or (and (or (= ~global~0.base |parse_input_#t~mem3#1.base|) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= ~global~0.base |parse_input_#t~mem3#1.base|)))) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,965 INFO L290 TraceCheckUtils]: 27: Hoare triple {58344#(and (or (and (or (= ~global~0.base |parse_input_#t~mem3#1.base|) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= ~global~0.base |parse_input_#t~mem3#1.base|)))) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[#t~mem3#1.base]; {58345#(and (or (and (or (= ~global~0.base |parse_input_#t~mem3#1.base|) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= ~global~0.base |parse_input_#t~mem3#1.base|)))) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,965 INFO L290 TraceCheckUtils]: 28: Hoare triple {58345#(and (or (and (or (= ~global~0.base |parse_input_#t~mem3#1.base|) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |parse_input_#t~mem3#1.base|)) (= (select |#valid| |parse_input_#t~mem3#1.base|) 1) (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= ~global~0.base |parse_input_#t~mem3#1.base|)))) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0))) (= |parse_input_~i~0#1| 0))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,966 INFO L290 TraceCheckUtils]: 29: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} assume 1 == #valid[~input#1.base]; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,966 INFO L290 TraceCheckUtils]: 30: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,967 INFO L290 TraceCheckUtils]: 31: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,967 INFO L290 TraceCheckUtils]: 32: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,968 INFO L290 TraceCheckUtils]: 33: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} is VALID [2022-02-20 23:38:36,969 INFO L290 TraceCheckUtils]: 34: Hoare triple {58346#(and (or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (not (= (+ |~#commands~0.offset| (* 8 |parse_input_~i~0#1|)) 0)) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))) (= |parse_input_~i~0#1| 0))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,969 INFO L290 TraceCheckUtils]: 35: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,970 INFO L290 TraceCheckUtils]: 36: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,970 INFO L290 TraceCheckUtils]: 37: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,971 INFO L290 TraceCheckUtils]: 38: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume ~global~0.base != 0 || ~global~0.offset != 0; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,971 INFO L290 TraceCheckUtils]: 39: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume 0 == ~global~0.offset; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,971 INFO L290 TraceCheckUtils]: 40: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume ~global~0.base < #StackHeapBarrier; {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} is VALID [2022-02-20 23:38:36,972 INFO L290 TraceCheckUtils]: 41: Hoare triple {58347#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1)))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,972 INFO L290 TraceCheckUtils]: 42: Hoare triple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,973 INFO L290 TraceCheckUtils]: 43: Hoare triple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} assume { :end_inline_c1 } true; {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,973 INFO L290 TraceCheckUtils]: 44: Hoare triple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,973 INFO L290 TraceCheckUtils]: 45: Hoare triple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} assume true; {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} is VALID [2022-02-20 23:38:36,974 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {58348#(or (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) |old(~global~0.base)|) (<= (+ |~#commands~0.offset| 1) 0) (<= 1 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1))} {58308#(and (not (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0) ~global~0.base)) (<= 0 |~#commands~0.offset|) (<= |~#commands~0.offset| 0))} #109#return; {58332#(and (<= 0 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:36,975 INFO L272 TraceCheckUtils]: 47: Hoare triple {58332#(and (<= 0 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1) (<= |~#commands~0.offset| 0))} call parse_input(5, 0); {58332#(and (<= 0 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1) (<= |~#commands~0.offset| 0))} is VALID [2022-02-20 23:38:36,975 INFO L290 TraceCheckUtils]: 48: Hoare triple {58332#(and (<= 0 |~#commands~0.offset|) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) 0)) 1) (<= |~#commands~0.offset| 0))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {58333#(and (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) 1))} is VALID [2022-02-20 23:38:36,976 INFO L290 TraceCheckUtils]: 49: Hoare triple {58333#(and (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) 1))} assume !!(~i~0#1 < 2); {58333#(and (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) 1))} is VALID [2022-02-20 23:38:36,976 INFO L290 TraceCheckUtils]: 50: Hoare triple {58333#(and (= (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|) 0) (= |parse_input_~i~0#1| 0) (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) (+ (* 9 |parse_input_~i~0#1|) |~#commands~0.offset|))) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {58334#(= (select |#valid| |parse_input_#t~mem3#1.base|) 1)} is VALID [2022-02-20 23:38:36,976 INFO L290 TraceCheckUtils]: 51: Hoare triple {58334#(= (select |#valid| |parse_input_#t~mem3#1.base|) 1)} assume !(1 == #valid[#t~mem3#1.base]); {58286#false} is VALID [2022-02-20 23:38:36,977 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 4 proven. 23 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-02-20 23:38:36,977 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:38:36,977 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1178809486] [2022-02-20 23:38:36,977 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1178809486] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:38:36,977 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [70581829] [2022-02-20 23:38:36,977 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:38:36,977 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:38:36,977 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:38:36,978 INFO L229 MonitoredProcess]: Starting monitored process 24 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:38:36,979 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (24)] Waiting until timeout for monitored process [2022-02-20 23:38:37,068 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:37,070 INFO L263 TraceCheckSpWp]: Trace formula consists of 318 conjuncts, 33 conjunts are in the unsatisfiable core [2022-02-20 23:38:37,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:38:37,078 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:38:37,304 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-02-20 23:38:37,305 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 11 treesize of output 11 [2022-02-20 23:38:37,575 INFO L356 Elim1Store]: treesize reduction 30, result has 37.5 percent of original size [2022-02-20 23:38:37,576 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 2 case distinctions, treesize of input 21 treesize of output 29 [2022-02-20 23:38:37,654 INFO L356 Elim1Store]: treesize reduction 19, result has 47.2 percent of original size [2022-02-20 23:38:37,654 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 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 16 treesize of output 26 [2022-02-20 23:38:37,844 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:38:37,862 INFO L290 TraceCheckUtils]: 0: Hoare triple {58285#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(3, 1);call write~init~int(99, 1, 0, 1);call write~init~int(49, 1, 1, 1);call write~init~int(0, 1, 2, 1);call #Ultimate.allocInit(3, 2);call write~init~int(99, 2, 0, 1);call write~init~int(50, 2, 1, 1);call write~init~int(0, 2, 2, 1);call #Ultimate.allocInit(3, 3);call write~init~int(99, 3, 0, 1);call write~init~int(49, 3, 1, 1);call write~init~int(0, 3, 2, 1);call #Ultimate.allocInit(3, 4);call write~init~int(99, 4, 0, 1);call write~init~int(49, 4, 1, 1);call write~init~int(0, 4, 2, 1);call #Ultimate.allocInit(3, 5);call write~init~int(99, 5, 0, 1);call write~init~int(50, 5, 1, 1);call write~init~int(0, 5, 2, 1);~state~0 := ~unnamed3~0~STATE_1;~global~0.base, ~global~0.offset := 0, 0;~#commands~0.base, ~#commands~0.offset := 6, 0;call #Ultimate.allocInit(18, 6);call write~init~$Pointer$(1, 0, ~#commands~0.base, ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c1.base, #funAddr~c1.offset, ~#commands~0.base, 4 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_1 % 256 <= 127 then ~unnamed3~0~STATE_1 % 256 else ~unnamed3~0~STATE_1 % 256 - 256), ~#commands~0.base, 8 + ~#commands~0.offset, 1);call write~init~$Pointer$(2, 0, ~#commands~0.base, 9 + ~#commands~0.offset, 4);call write~init~$Pointer$(#funAddr~c2.base, #funAddr~c2.offset, ~#commands~0.base, 13 + ~#commands~0.offset, 4);call write~init~int((if ~unnamed3~0~STATE_2 % 256 <= 127 then ~unnamed3~0~STATE_2 % 256 else ~unnamed3~0~STATE_2 % 256 - 256), ~#commands~0.base, 17 + ~#commands~0.offset, 1); {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,862 INFO L290 TraceCheckUtils]: 1: Hoare triple {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1; {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,863 INFO L272 TraceCheckUtils]: 2: Hoare triple {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(3, 0); {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,863 INFO L290 TraceCheckUtils]: 3: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,864 INFO L290 TraceCheckUtils]: 4: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !!(~i~0#1 < 2); {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,864 INFO L290 TraceCheckUtils]: 5: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,865 INFO L290 TraceCheckUtils]: 6: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[#t~mem3#1.base]; {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,865 INFO L290 TraceCheckUtils]: 7: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,865 INFO L290 TraceCheckUtils]: 8: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 1 == #valid[~input#1.base]; {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,866 INFO L290 TraceCheckUtils]: 9: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,866 INFO L290 TraceCheckUtils]: 10: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,866 INFO L290 TraceCheckUtils]: 11: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,867 INFO L290 TraceCheckUtils]: 12: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,867 INFO L290 TraceCheckUtils]: 13: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,868 INFO L290 TraceCheckUtils]: 14: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} is VALID [2022-02-20 23:38:37,868 INFO L290 TraceCheckUtils]: 15: Hoare triple {58359#(and (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1) (= |old(#valid)| |#valid|))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {58399#(and (= |~#commands~0.offset| 0) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,868 INFO L290 TraceCheckUtils]: 16: Hoare triple {58399#(and (= |~#commands~0.offset| 0) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {58399#(and (= |~#commands~0.offset| 0) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,869 INFO L290 TraceCheckUtils]: 17: Hoare triple {58399#(and (= |~#commands~0.offset| 0) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !(~global~0.base != 0 || ~global~0.offset != 0); {58399#(and (= |~#commands~0.offset| 0) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,869 INFO L290 TraceCheckUtils]: 18: Hoare triple {58399#(and (= |~#commands~0.offset| 0) (= (select |old(#valid)| |parse_input_c1_~x~0#1.base|) 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {58409#(and (= (select |old(#valid)| ~global~0.base) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,869 INFO L290 TraceCheckUtils]: 19: Hoare triple {58409#(and (= (select |old(#valid)| ~global~0.base) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_c1 } true; {58409#(and (= (select |old(#valid)| ~global~0.base) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,870 INFO L290 TraceCheckUtils]: 20: Hoare triple {58409#(and (= (select |old(#valid)| ~global~0.base) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {58409#(and (= (select |old(#valid)| ~global~0.base) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,870 INFO L290 TraceCheckUtils]: 21: Hoare triple {58409#(and (= (select |old(#valid)| ~global~0.base) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume true; {58409#(and (= (select |old(#valid)| ~global~0.base) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,871 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {58409#(and (= (select |old(#valid)| ~global~0.base) 0) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} #107#return; {58422#(and (not (= ~global~0.base 1)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,871 INFO L272 TraceCheckUtils]: 23: Hoare triple {58422#(and (not (= ~global~0.base 1)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(4, 0); {58426#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,872 INFO L290 TraceCheckUtils]: 24: Hoare triple {58426#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {58430#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,872 INFO L290 TraceCheckUtils]: 25: Hoare triple {58430#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !!(~i~0#1 < 2); {58430#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,873 INFO L290 TraceCheckUtils]: 26: Hoare triple {58430#(and (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {58437#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_#t~mem3#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,873 INFO L290 TraceCheckUtils]: 27: Hoare triple {58437#(and (= ~global~0.base |old(~global~0.base)|) (= |parse_input_#t~mem3#1.base| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume 1 == #valid[#t~mem3#1.base]; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,873 INFO L290 TraceCheckUtils]: 28: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume #t~mem3#1.offset < #length[#t~mem3#1.base] && #t~mem3#1.offset >= 0; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,874 INFO L290 TraceCheckUtils]: 29: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume 1 == #valid[~input#1.base]; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,874 INFO L290 TraceCheckUtils]: 30: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume ~input#1.offset < #length[~input#1.base] && ~input#1.offset >= 0; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,875 INFO L290 TraceCheckUtils]: 31: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume 0 == #t~nondet4#1;havoc #t~mem3#1.base, #t~mem3#1.offset;havoc #t~nondet4#1; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,875 INFO L290 TraceCheckUtils]: 32: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem5#1 := read~int(~#commands~0.base, 8 + (~#commands~0.offset + 9 * ~i~0#1), 1); srcloc: L694 {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,875 INFO L290 TraceCheckUtils]: 33: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume ~state~0 >= #t~mem5#1;havoc #t~mem5#1; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,876 INFO L290 TraceCheckUtils]: 34: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem6#1.base, #t~mem6#1.offset := read~$Pointer$(~#commands~0.base, 4 + (~#commands~0.offset + 9 * ~i~0#1), 4); srcloc: L695 {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,876 INFO L290 TraceCheckUtils]: 35: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :begin_inline_##fun~~TO~VOID } true;##fun~~TO~VOID_#in~#fp#1.base, ##fun~~TO~VOID_#in~#fp#1.offset := #t~mem6#1.base, #t~mem6#1.offset; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,877 INFO L290 TraceCheckUtils]: 36: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !(##fun~~TO~VOID_#in~#fp#1.base == #funAddr~c2.base && ##fun~~TO~VOID_#in~#fp#1.offset == #funAddr~c2.offset);assume { :begin_inline_c1 } true;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset, c1_~x~0#1.base, c1_~x~0#1.offset;call c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset := #Ultimate.allocOnHeap(1);c1_~x~0#1.base, c1_~x~0#1.offset := c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset;havoc c1_#t~malloc7#1.base, c1_#t~malloc7#1.offset; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,877 INFO L290 TraceCheckUtils]: 37: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !(c1_~x~0#1.base == 0 && c1_~x~0#1.offset == 0); {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,878 INFO L290 TraceCheckUtils]: 38: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume ~global~0.base != 0 || ~global~0.offset != 0; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,878 INFO L290 TraceCheckUtils]: 39: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume 0 == ~global~0.offset; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,878 INFO L290 TraceCheckUtils]: 40: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume ~global~0.base < #StackHeapBarrier; {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,879 INFO L290 TraceCheckUtils]: 41: Hoare triple {58441#(and (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= ~global~0.base |old(~global~0.base)|) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume 0 == ~global~0.base || 1 == #valid[~global~0.base];call ULTIMATE.dealloc(~global~0.base, ~global~0.offset); {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,879 INFO L290 TraceCheckUtils]: 42: Hoare triple {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~global~0.base, ~global~0.offset := c1_~x~0#1.base, c1_~x~0#1.offset;~state~0 := ~unnamed3~0~STATE_2; {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,880 INFO L290 TraceCheckUtils]: 43: Hoare triple {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_c1 } true; {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,880 INFO L290 TraceCheckUtils]: 44: Hoare triple {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume { :end_inline_##fun~~TO~VOID } true;havoc #t~mem6#1.base, #t~mem6#1.offset; {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,880 INFO L290 TraceCheckUtils]: 45: Hoare triple {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume true; {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,881 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {58484#(and (or (= (select |#valid| (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|)) 1) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) |old(~global~0.base)|)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} {58422#(and (not (= ~global~0.base 1)) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} #109#return; {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,882 INFO L272 TraceCheckUtils]: 47: Hoare triple {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} call parse_input(5, 0); {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,882 INFO L290 TraceCheckUtils]: 48: Hoare triple {58352#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} ~input#1.base, ~input#1.offset := #in~input#1.base, #in~input#1.offset;~i~0#1 := 0; {58506#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,882 INFO L290 TraceCheckUtils]: 49: Hoare triple {58506#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} assume !!(~i~0#1 < 2); {58506#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} is VALID [2022-02-20 23:38:37,883 INFO L290 TraceCheckUtils]: 50: Hoare triple {58506#(and (= (select |#valid| 1) 1) (= |~#commands~0.offset| 0) (= |parse_input_~i~0#1| 0) (= (select (select |#memory_$Pointer$.base| |~#commands~0.base|) |~#commands~0.offset|) 1))} SUMMARY for call #t~mem3#1.base, #t~mem3#1.offset := read~$Pointer$(~#commands~0.base, ~#commands~0.offset + 9 * ~i~0#1, 4); srcloc: L693 {58513#(and (= (select |#valid| 1) 1) (= |parse_input_#t~mem3#1.base| 1))} is VALID [2022-02-20 23:38:37,883 INFO L290 TraceCheckUtils]: 51: Hoare triple {58513#(and (= (select |#valid| 1) 1) (= |parse_input_#t~mem3#1.base| 1))} assume !(1 == #valid[#t~mem3#1.base]); {58286#false} is VALID [2022-02-20 23:38:37,883 INFO L134 CoverageAnalysis]: Checked inductivity of 28 backedges. 0 proven. 28 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:38:37,884 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:38:38,123 INFO L356 Elim1Store]: treesize reduction 5, result has 58.3 percent of original size [2022-02-20 23:38:38,124 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 178 treesize of output 165