./Ultimate.py --spec ../sv-benchmarks/c/properties/valid-memsafety.prp --file ../sv-benchmarks/c/ldv-memsafety/ArraysWithLenghtAtDeclaration_-write.c --full-output -ea --architecture 32bit -------------------------------------------------------------------------------- Checking for memory safety (deref-memtrack) Using default analysis Version 03d7b7b3 Calling Ultimate with: /usr/bin/java -Dosgi.configuration.area=/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/config -Xmx15G -Xms4m -ea -jar /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data -tc /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/AutomizerMemDerefMemtrack.xml -i ../sv-benchmarks/c/ldv-memsafety/ArraysWithLenghtAtDeclaration_-write.c -s /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf --cacsl2boogietranslator.entry.function main --witnessprinter.witness.directory /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux --witnessprinter.witness.filename witness.graphml --witnessprinter.write.witness.besides.input.file false --witnessprinter.graph.data.specification CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) --witnessprinter.graph.data.producer Automizer --witnessprinter.graph.data.architecture 32bit --witnessprinter.graph.data.programhash 05d1274571884b61e0bf3945fec02c622819cbfceb65bf4937493085e5ba6604 --- Real Ultimate output --- This is Ultimate 0.2.2-dev-03d7b7b [2022-02-20 23:49:31,915 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-02-20 23:49:31,917 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-02-20 23:49:31,945 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-02-20 23:49:31,946 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-02-20 23:49:31,947 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-02-20 23:49:31,948 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-02-20 23:49:31,950 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-02-20 23:49:31,951 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-02-20 23:49:31,952 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-02-20 23:49:31,953 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-02-20 23:49:31,954 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-02-20 23:49:31,954 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-02-20 23:49:31,955 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-02-20 23:49:31,956 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-02-20 23:49:31,957 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-02-20 23:49:31,958 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-02-20 23:49:31,958 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-02-20 23:49:31,960 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-02-20 23:49:31,961 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-02-20 23:49:31,962 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-02-20 23:49:31,963 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-02-20 23:49:31,964 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-02-20 23:49:31,965 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-02-20 23:49:31,968 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-02-20 23:49:31,968 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-02-20 23:49:31,968 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-02-20 23:49:31,969 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-02-20 23:49:31,969 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-02-20 23:49:31,970 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-02-20 23:49:31,971 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-02-20 23:49:31,971 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-02-20 23:49:31,972 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-02-20 23:49:31,973 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-02-20 23:49:31,974 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-02-20 23:49:31,974 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-02-20 23:49:31,975 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-02-20 23:49:31,975 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-02-20 23:49:31,975 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-02-20 23:49:31,976 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-02-20 23:49:31,977 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-02-20 23:49:31,978 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/config/svcomp-DerefFreeMemtrack-32bit-Automizer_Default.epf [2022-02-20 23:49:32,000 INFO L113 SettingsManager]: Loading preferences was successful [2022-02-20 23:49:32,000 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-02-20 23:49:32,001 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-02-20 23:49:32,001 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-02-20 23:49:32,002 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-02-20 23:49:32,002 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-02-20 23:49:32,002 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-02-20 23:49:32,003 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-02-20 23:49:32,003 INFO L138 SettingsManager]: * Use SBE=true [2022-02-20 23:49:32,003 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-02-20 23:49:32,003 INFO L138 SettingsManager]: * sizeof long=4 [2022-02-20 23:49:32,004 INFO L138 SettingsManager]: * Check unreachability of error function in SV-COMP mode=false [2022-02-20 23:49:32,004 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-02-20 23:49:32,004 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-02-20 23:49:32,004 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-02-20 23:49:32,004 INFO L138 SettingsManager]: * Check for the main procedure if all allocated memory was freed=true [2022-02-20 23:49:32,004 INFO L138 SettingsManager]: * Bitprecise bitfields=true [2022-02-20 23:49:32,005 INFO L138 SettingsManager]: * SV-COMP memtrack compatibility mode=true [2022-02-20 23:49:32,005 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-02-20 23:49:32,005 INFO L138 SettingsManager]: * Adapt memory model on pointer casts if necessary=true [2022-02-20 23:49:32,005 INFO L138 SettingsManager]: * sizeof long double=12 [2022-02-20 23:49:32,005 INFO L138 SettingsManager]: * Use constant arrays=true [2022-02-20 23:49:32,006 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-02-20 23:49:32,006 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-02-20 23:49:32,006 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-02-20 23:49:32,006 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:49:32,006 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-02-20 23:49:32,007 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-02-20 23:49:32,007 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-02-20 23:49:32,007 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-02-20 23:49:32,007 INFO L138 SettingsManager]: * SMT solver=External_ModelsAndUnsatCoreMode WARNING: An illegal reflective access operation has occurred WARNING: Illegal reflective access by com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 (file:/storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/plugins/com.sun.xml.bind_2.2.0.v201505121915.jar) to method java.lang.ClassLoader.defineClass(java.lang.String,byte[],int,int) WARNING: Please consider reporting this to the maintainers of com.sun.xml.bind.v2.runtime.reflect.opt.Injector$1 WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations WARNING: All illegal access operations will be denied in a future release Applying setting for plugin de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator: Entry function -> main Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness directory -> /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Witness filename -> witness.graphml Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Write witness besides input file -> false Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data specification -> CHECK( init(main()), LTL(G valid-free) ) CHECK( init(main()), LTL(G valid-deref) ) CHECK( init(main()), LTL(G valid-memtrack) ) Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data producer -> Automizer Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data architecture -> 32bit Applying setting for plugin de.uni_freiburg.informatik.ultimate.witnessprinter: Graph data programhash -> 05d1274571884b61e0bf3945fec02c622819cbfceb65bf4937493085e5ba6604 [2022-02-20 23:49:32,189 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-02-20 23:49:32,219 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-02-20 23:49:32,222 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-02-20 23:49:32,224 INFO L271 PluginConnector]: Initializing CDTParser... [2022-02-20 23:49:32,225 INFO L275 PluginConnector]: CDTParser initialized [2022-02-20 23:49:32,226 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../sv-benchmarks/c/ldv-memsafety/ArraysWithLenghtAtDeclaration_-write.c [2022-02-20 23:49:32,283 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6ee884dd3/95eee3eed34647c4a04cbcc284529c34/FLAGe556e042b [2022-02-20 23:49:32,645 INFO L306 CDTParser]: Found 1 translation units. [2022-02-20 23:49:32,646 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/releaseScripts/default/sv-benchmarks/c/ldv-memsafety/ArraysWithLenghtAtDeclaration_-write.c [2022-02-20 23:49:32,655 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6ee884dd3/95eee3eed34647c4a04cbcc284529c34/FLAGe556e042b [2022-02-20 23:49:32,665 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/6ee884dd3/95eee3eed34647c4a04cbcc284529c34 [2022-02-20 23:49:32,668 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-02-20 23:49:32,669 INFO L131 ToolchainWalker]: Walking toolchain with 6 elements. [2022-02-20 23:49:32,671 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-02-20 23:49:32,671 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-02-20 23:49:32,674 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-02-20 23:49:32,675 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,680 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@76f18b16 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32, skipping insertion in model container [2022-02-20 23:49:32,681 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,689 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-02-20 23:49:32,702 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-02-20 23:49:32,851 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:49:32,862 INFO L203 MainTranslator]: Completed pre-run [2022-02-20 23:49:32,884 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-02-20 23:49:32,895 INFO L208 MainTranslator]: Completed translation [2022-02-20 23:49:32,896 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32 WrapperNode [2022-02-20 23:49:32,896 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-02-20 23:49:32,898 INFO L113 PluginConnector]: ------------------------Boogie Procedure Inliner---------------------------- [2022-02-20 23:49:32,898 INFO L271 PluginConnector]: Initializing Boogie Procedure Inliner... [2022-02-20 23:49:32,898 INFO L275 PluginConnector]: Boogie Procedure Inliner initialized [2022-02-20 23:49:32,905 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:49:32" (1/1) ... [2022-02-20 23:49:32,910 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:49:32" (1/1) ... [2022-02-20 23:49:32,943 INFO L137 Inliner]: procedures = 8, calls = 14, calls flagged for inlining = 3, calls inlined = 3, statements flattened = 67 [2022-02-20 23:49:32,944 INFO L132 PluginConnector]: ------------------------ END Boogie Procedure Inliner---------------------------- [2022-02-20 23:49:32,945 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-02-20 23:49:32,945 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-02-20 23:49:32,945 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-02-20 23:49:32,952 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,952 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,963 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,964 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,973 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,978 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,984 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,986 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-02-20 23:49:32,989 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-02-20 23:49:32,990 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-02-20 23:49:32,990 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-02-20 23:49:32,991 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (1/1) ... [2022-02-20 23:49:32,998 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-02-20 23:49:33,008 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:33,025 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:49:33,050 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:49:33,063 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-02-20 23:49:33,063 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-02-20 23:49:33,064 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-02-20 23:49:33,064 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-02-20 23:49:33,064 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-02-20 23:49:33,065 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-02-20 23:49:33,119 INFO L234 CfgBuilder]: Building ICFG [2022-02-20 23:49:33,120 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-02-20 23:49:33,308 INFO L275 CfgBuilder]: Performing block encoding [2022-02-20 23:49:33,314 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-02-20 23:49:33,314 INFO L299 CfgBuilder]: Removed 3 assume(true) statements. [2022-02-20 23:49:33,316 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:49:33 BoogieIcfgContainer [2022-02-20 23:49:33,316 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-02-20 23:49:33,317 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-02-20 23:49:33,317 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-02-20 23:49:33,320 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-02-20 23:49:33,331 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 20.02 11:49:32" (1/3) ... [2022-02-20 23:49:33,332 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@593de9db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:49:33, skipping insertion in model container [2022-02-20 23:49:33,332 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 20.02 11:49:32" (2/3) ... [2022-02-20 23:49:33,332 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@593de9db and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 20.02 11:49:33, skipping insertion in model container [2022-02-20 23:49:33,333 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 20.02 11:49:33" (3/3) ... [2022-02-20 23:49:33,334 INFO L111 eAbstractionObserver]: Analyzing ICFG ArraysWithLenghtAtDeclaration_-write.c [2022-02-20 23:49:33,338 INFO L205 ceAbstractionStarter]: Automizer settings: Hoare:false NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-02-20 23:49:33,338 INFO L164 ceAbstractionStarter]: Applying trace abstraction to program that has 8 error locations. [2022-02-20 23:49:33,397 INFO L338 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-02-20 23:49:33,403 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:49:33,407 INFO L340 AbstractCegarLoop]: Starting to check reachability of 8 error locations. [2022-02-20 23:49:33,434 INFO L276 IsEmpty]: Start isEmpty. Operand has 31 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 30 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:33,439 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 6 [2022-02-20 23:49:33,440 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:33,440 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1] [2022-02-20 23:49:33,442 INFO L402 AbstractCegarLoop]: === Iteration 1 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:33,450 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:33,451 INFO L85 PathProgramCache]: Analyzing trace with hash 28698920, now seen corresponding path program 1 times [2022-02-20 23:49:33,458 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:33,460 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [986395775] [2022-02-20 23:49:33,460 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:33,462 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:33,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:33,709 INFO L290 TraceCheckUtils]: 0: Hoare triple {34#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {34#true} is VALID [2022-02-20 23:49:33,711 INFO L290 TraceCheckUtils]: 1: Hoare triple {34#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {34#true} is VALID [2022-02-20 23:49:33,712 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {36#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:33,717 INFO L290 TraceCheckUtils]: 3: Hoare triple {36#(= |ULTIMATE.start_foo_~i~0#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {36#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:33,723 INFO L290 TraceCheckUtils]: 4: Hoare triple {36#(= |ULTIMATE.start_foo_~i~0#1| 0)} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {35#false} is VALID [2022-02-20 23:49:33,724 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:49:33,725 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:33,725 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [986395775] [2022-02-20 23:49:33,726 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [986395775] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:33,727 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:49:33,727 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [2] imperfect sequences [] total 2 [2022-02-20 23:49:33,729 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1387759523] [2022-02-20 23:49:33,729 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:33,734 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:49:33,734 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:33,737 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:33,748 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 5 edges. 5 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:33,749 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:49:33,749 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:33,776 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:49:33,776 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:49:33,779 INFO L87 Difference]: Start difference. First operand has 31 states, 22 states have (on average 1.6818181818181819) internal successors, (37), 30 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:33,919 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:33,920 INFO L93 Difference]: Finished difference Result 59 states and 65 transitions. [2022-02-20 23:49:33,920 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:49:33,921 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 5 [2022-02-20 23:49:33,921 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:33,922 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:33,935 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2022-02-20 23:49:33,935 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:33,937 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 72 transitions. [2022-02-20 23:49:33,938 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 72 transitions. [2022-02-20 23:49:34,033 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 72 edges. 72 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:34,041 INFO L225 Difference]: With dead ends: 59 [2022-02-20 23:49:34,042 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 23:49:34,043 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:49:34,049 INFO L933 BasicCegarLoop]: 42 mSDtfsCounter, 28 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 17 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 28 SdHoareTripleChecker+Valid, 66 SdHoareTripleChecker+Invalid, 17 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 17 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:34,050 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [28 Valid, 66 Invalid, 17 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 17 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:34,064 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 23:49:34,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 31. [2022-02-20 23:49:34,075 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:34,076 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 31 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 30 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,076 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 31 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 30 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,077 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 31 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 30 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,082 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,082 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-02-20 23:49:34,083 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-02-20 23:49:34,083 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:34,084 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:34,084 INFO L74 IsIncluded]: Start isIncluded. First operand has 31 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 30 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:49:34,086 INFO L87 Difference]: Start difference. First operand has 31 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 30 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:49:34,091 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,091 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-02-20 23:49:34,091 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-02-20 23:49:34,092 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:34,092 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:34,093 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:34,093 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:34,094 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 31 states, 23 states have (on average 1.5217391304347827) internal successors, (35), 30 states have internal predecessors, (35), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,095 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 31 states to 31 states and 35 transitions. [2022-02-20 23:49:34,096 INFO L78 Accepts]: Start accepts. Automaton has 31 states and 35 transitions. Word has length 5 [2022-02-20 23:49:34,096 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:34,096 INFO L470 AbstractCegarLoop]: Abstraction has 31 states and 35 transitions. [2022-02-20 23:49:34,097 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 2 states have (on average 2.5) internal successors, (5), 3 states have internal predecessors, (5), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,097 INFO L276 IsEmpty]: Start isEmpty. Operand 31 states and 35 transitions. [2022-02-20 23:49:34,097 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:49:34,097 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:34,098 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:49:34,098 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-02-20 23:49:34,098 INFO L402 AbstractCegarLoop]: === Iteration 2 === Targeting ULTIMATE.startErr5REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:34,099 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:34,099 INFO L85 PathProgramCache]: Analyzing trace with hash 889631015, now seen corresponding path program 1 times [2022-02-20 23:49:34,099 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:34,100 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [13450938] [2022-02-20 23:49:34,100 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:34,100 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:34,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:34,134 INFO L290 TraceCheckUtils]: 0: Hoare triple {239#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {239#true} is VALID [2022-02-20 23:49:34,135 INFO L290 TraceCheckUtils]: 1: Hoare triple {239#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {241#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:34,136 INFO L290 TraceCheckUtils]: 2: Hoare triple {241#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !(main_~i~1#1 % 4294967296 < 32); {240#false} is VALID [2022-02-20 23:49:34,136 INFO L290 TraceCheckUtils]: 3: Hoare triple {240#false} main_~i~1#1 := 0; {240#false} is VALID [2022-02-20 23:49:34,136 INFO L290 TraceCheckUtils]: 4: Hoare triple {240#false} assume !!(main_~i~1#1 % 4294967296 < 32); {240#false} is VALID [2022-02-20 23:49:34,137 INFO L290 TraceCheckUtils]: 5: Hoare triple {240#false} assume !(1 == #valid[main_~#b~0#1.base]); {240#false} is VALID [2022-02-20 23:49:34,139 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:49:34,139 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:34,140 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [13450938] [2022-02-20 23:49:34,140 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [13450938] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:34,141 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:49:34,141 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:49:34,141 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [345512974] [2022-02-20 23:49:34,141 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:34,142 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:49:34,145 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:34,145 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,155 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:49:34,155 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-02-20 23:49:34,155 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:34,156 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-02-20 23:49:34,156 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-02-20 23:49:34,157 INFO L87 Difference]: Start difference. First operand 31 states and 35 transitions. Second operand has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,222 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-02-20 23:49:34,222 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:49:34,223 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:49:34,223 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:34,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2022-02-20 23:49:34,225 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,226 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 60 transitions. [2022-02-20 23:49:34,226 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 60 transitions. [2022-02-20 23:49:34,283 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:34,287 INFO L225 Difference]: With dead ends: 58 [2022-02-20 23:49:34,287 INFO L226 Difference]: Without dead ends: 58 [2022-02-20 23:49:34,287 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:49:34,289 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 24 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 40 SdHoareTripleChecker+Invalid, 24 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:34,289 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [24 Valid, 40 Invalid, 24 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:34,290 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 58 states. [2022-02-20 23:49:34,292 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 58 to 33. [2022-02-20 23:49:34,292 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:34,292 INFO L82 GeneralOperation]: Start isEquivalent. First operand 58 states. Second operand has 33 states, 25 states have (on average 1.48) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,293 INFO L74 IsIncluded]: Start isIncluded. First operand 58 states. Second operand has 33 states, 25 states have (on average 1.48) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,293 INFO L87 Difference]: Start difference. First operand 58 states. Second operand has 33 states, 25 states have (on average 1.48) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,295 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,295 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-02-20 23:49:34,295 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-02-20 23:49:34,296 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:34,296 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:34,296 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 25 states have (on average 1.48) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 58 states. [2022-02-20 23:49:34,296 INFO L87 Difference]: Start difference. First operand has 33 states, 25 states have (on average 1.48) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 58 states. [2022-02-20 23:49:34,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,299 INFO L93 Difference]: Finished difference Result 58 states and 64 transitions. [2022-02-20 23:49:34,299 INFO L276 IsEmpty]: Start isEmpty. Operand 58 states and 64 transitions. [2022-02-20 23:49:34,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:34,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:34,299 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:34,300 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:34,300 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 25 states have (on average 1.48) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,301 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-02-20 23:49:34,301 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 6 [2022-02-20 23:49:34,301 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:34,301 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-02-20 23:49:34,301 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 2.0) internal successors, (6), 3 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,302 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-02-20 23:49:34,302 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:49:34,302 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:34,302 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:49:34,302 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-02-20 23:49:34,302 INFO L402 AbstractCegarLoop]: === Iteration 3 === Targeting ULTIMATE.startErr1REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:34,307 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:34,307 INFO L85 PathProgramCache]: Analyzing trace with hash 889666573, now seen corresponding path program 1 times [2022-02-20 23:49:34,308 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:34,308 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [563661593] [2022-02-20 23:49:34,309 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:34,309 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:34,333 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:34,382 INFO L290 TraceCheckUtils]: 0: Hoare triple {451#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {451#true} is VALID [2022-02-20 23:49:34,383 INFO L290 TraceCheckUtils]: 1: Hoare triple {451#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {453#(= (select |#valid| |ULTIMATE.start_main_~#mask~0#1.base|) 1)} is VALID [2022-02-20 23:49:34,384 INFO L290 TraceCheckUtils]: 2: Hoare triple {453#(= (select |#valid| |ULTIMATE.start_main_~#mask~0#1.base|) 1)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {454#(= (select |#valid| |ULTIMATE.start_foo_~b#1.base|) 1)} is VALID [2022-02-20 23:49:34,385 INFO L290 TraceCheckUtils]: 3: Hoare triple {454#(= (select |#valid| |ULTIMATE.start_foo_~b#1.base|) 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {454#(= (select |#valid| |ULTIMATE.start_foo_~b#1.base|) 1)} is VALID [2022-02-20 23:49:34,385 INFO L290 TraceCheckUtils]: 4: Hoare triple {454#(= (select |#valid| |ULTIMATE.start_foo_~b#1.base|) 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {454#(= (select |#valid| |ULTIMATE.start_foo_~b#1.base|) 1)} is VALID [2022-02-20 23:49:34,386 INFO L290 TraceCheckUtils]: 5: Hoare triple {454#(= (select |#valid| |ULTIMATE.start_foo_~b#1.base|) 1)} assume !(1 == #valid[foo_~b#1.base]); {452#false} is VALID [2022-02-20 23:49:34,386 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:49:34,386 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:34,386 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [563661593] [2022-02-20 23:49:34,387 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [563661593] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:34,387 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:49:34,387 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:49:34,387 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2013816571] [2022-02-20 23:49:34,387 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:34,388 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:49:34,388 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:34,388 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,394 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:49:34,394 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:49:34,395 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:34,395 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:49:34,395 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:49:34,396 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,474 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,474 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2022-02-20 23:49:34,474 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:49:34,475 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:49:34,476 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:34,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,477 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 33 transitions. [2022-02-20 23:49:34,479 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,479 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 33 transitions. [2022-02-20 23:49:34,480 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 33 transitions. [2022-02-20 23:49:34,512 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:34,514 INFO L225 Difference]: With dead ends: 32 [2022-02-20 23:49:34,515 INFO L226 Difference]: Without dead ends: 32 [2022-02-20 23:49:34,515 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:49:34,520 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 49 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 49 SdHoareTripleChecker+Valid, 22 SdHoareTripleChecker+Invalid, 19 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:34,522 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [49 Valid, 22 Invalid, 19 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:34,523 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 32 states. [2022-02-20 23:49:34,525 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 32 to 32. [2022-02-20 23:49:34,525 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:34,526 INFO L82 GeneralOperation]: Start isEquivalent. First operand 32 states. Second operand has 32 states, 25 states have (on average 1.44) internal successors, (36), 31 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,526 INFO L74 IsIncluded]: Start isIncluded. First operand 32 states. Second operand has 32 states, 25 states have (on average 1.44) internal successors, (36), 31 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,526 INFO L87 Difference]: Start difference. First operand 32 states. Second operand has 32 states, 25 states have (on average 1.44) internal successors, (36), 31 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,527 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,528 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2022-02-20 23:49:34,528 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2022-02-20 23:49:34,528 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:34,528 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:34,529 INFO L74 IsIncluded]: Start isIncluded. First operand has 32 states, 25 states have (on average 1.44) internal successors, (36), 31 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 32 states. [2022-02-20 23:49:34,529 INFO L87 Difference]: Start difference. First operand has 32 states, 25 states have (on average 1.44) internal successors, (36), 31 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 32 states. [2022-02-20 23:49:34,530 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,530 INFO L93 Difference]: Finished difference Result 32 states and 36 transitions. [2022-02-20 23:49:34,530 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2022-02-20 23:49:34,531 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:34,531 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:34,531 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:34,531 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:34,532 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 25 states have (on average 1.44) internal successors, (36), 31 states have internal predecessors, (36), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,534 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 36 transitions. [2022-02-20 23:49:34,535 INFO L78 Accepts]: Start accepts. Automaton has 32 states and 36 transitions. Word has length 6 [2022-02-20 23:49:34,535 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:34,536 INFO L470 AbstractCegarLoop]: Abstraction has 32 states and 36 transitions. [2022-02-20 23:49:34,536 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,537 INFO L276 IsEmpty]: Start isEmpty. Operand 32 states and 36 transitions. [2022-02-20 23:49:34,537 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 7 [2022-02-20 23:49:34,537 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:34,537 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1] [2022-02-20 23:49:34,538 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-02-20 23:49:34,538 INFO L402 AbstractCegarLoop]: === Iteration 4 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:34,538 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:34,539 INFO L85 PathProgramCache]: Analyzing trace with hash 889666574, now seen corresponding path program 1 times [2022-02-20 23:49:34,539 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:34,539 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1133913850] [2022-02-20 23:49:34,539 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:34,539 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:34,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:34,620 INFO L290 TraceCheckUtils]: 0: Hoare triple {587#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {587#true} is VALID [2022-02-20 23:49:34,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {587#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {589#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:49:34,629 INFO L290 TraceCheckUtils]: 2: Hoare triple {589#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {590#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:49:34,630 INFO L290 TraceCheckUtils]: 3: Hoare triple {590#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {590#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:49:34,630 INFO L290 TraceCheckUtils]: 4: Hoare triple {590#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {590#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:49:34,631 INFO L290 TraceCheckUtils]: 5: Hoare triple {590#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !(1 + (foo_~b#1.offset + foo_~i~0#1) <= #length[foo_~b#1.base] && 0 <= foo_~b#1.offset + foo_~i~0#1); {588#false} is VALID [2022-02-20 23:49:34,632 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:49:34,633 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:34,633 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1133913850] [2022-02-20 23:49:34,633 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1133913850] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:34,633 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:49:34,634 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:49:34,634 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1611979854] [2022-02-20 23:49:34,634 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:34,634 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:49:34,635 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:34,635 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,643 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:49:34,643 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:49:34,643 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:34,644 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:49:34,644 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:49:34,644 INFO L87 Difference]: Start difference. First operand 32 states and 36 transitions. Second operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,794 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-02-20 23:49:34,794 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:49:34,794 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 6 [2022-02-20 23:49:34,794 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:34,795 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,796 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-02-20 23:49:34,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 59 transitions. [2022-02-20 23:49:34,797 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 59 transitions. [2022-02-20 23:49:34,852 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 59 edges. 59 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:34,853 INFO L225 Difference]: With dead ends: 55 [2022-02-20 23:49:34,853 INFO L226 Difference]: Without dead ends: 55 [2022-02-20 23:49:34,854 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:49:34,855 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 69 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 34 mSolverCounterSat, 3 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 69 SdHoareTripleChecker+Valid, 32 SdHoareTripleChecker+Invalid, 37 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 3 IncrementalHoareTripleChecker+Valid, 34 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:34,855 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [69 Valid, 32 Invalid, 37 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [3 Valid, 34 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:34,856 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 55 states. [2022-02-20 23:49:34,858 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 55 to 33. [2022-02-20 23:49:34,858 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:34,858 INFO L82 GeneralOperation]: Start isEquivalent. First operand 55 states. Second operand has 33 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,859 INFO L74 IsIncluded]: Start isIncluded. First operand 55 states. Second operand has 33 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,859 INFO L87 Difference]: Start difference. First operand 55 states. Second operand has 33 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,860 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,861 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-02-20 23:49:34,861 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-02-20 23:49:34,861 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:34,861 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:34,862 INFO L74 IsIncluded]: Start isIncluded. First operand has 33 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:49:34,862 INFO L87 Difference]: Start difference. First operand has 33 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 55 states. [2022-02-20 23:49:34,864 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:34,864 INFO L93 Difference]: Finished difference Result 55 states and 61 transitions. [2022-02-20 23:49:34,864 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 61 transitions. [2022-02-20 23:49:34,864 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:34,865 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:34,865 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:34,865 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:34,865 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 33 states, 26 states have (on average 1.4230769230769231) internal successors, (37), 32 states have internal predecessors, (37), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,866 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 37 transitions. [2022-02-20 23:49:34,866 INFO L78 Accepts]: Start accepts. Automaton has 33 states and 37 transitions. Word has length 6 [2022-02-20 23:49:34,867 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:34,867 INFO L470 AbstractCegarLoop]: Abstraction has 33 states and 37 transitions. [2022-02-20 23:49:34,867 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 2.0) internal successors, (6), 4 states have internal predecessors, (6), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,867 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 37 transitions. [2022-02-20 23:49:34,867 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 8 [2022-02-20 23:49:34,868 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:34,868 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:34,868 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable3 [2022-02-20 23:49:34,868 INFO L402 AbstractCegarLoop]: === Iteration 5 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:34,869 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:34,869 INFO L85 PathProgramCache]: Analyzing trace with hash 1809810359, now seen corresponding path program 1 times [2022-02-20 23:49:34,869 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:34,870 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [577545333] [2022-02-20 23:49:34,870 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:34,870 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:34,886 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:34,916 INFO L290 TraceCheckUtils]: 0: Hoare triple {793#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {793#true} is VALID [2022-02-20 23:49:34,917 INFO L290 TraceCheckUtils]: 1: Hoare triple {793#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {795#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:34,918 INFO L290 TraceCheckUtils]: 2: Hoare triple {795#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {796#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:34,919 INFO L290 TraceCheckUtils]: 3: Hoare triple {796#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {794#false} is VALID [2022-02-20 23:49:34,919 INFO L290 TraceCheckUtils]: 4: Hoare triple {794#false} foo_#res#1 := foo_~i~0#1; {794#false} is VALID [2022-02-20 23:49:34,919 INFO L290 TraceCheckUtils]: 5: Hoare triple {794#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {794#false} is VALID [2022-02-20 23:49:34,919 INFO L290 TraceCheckUtils]: 6: Hoare triple {794#false} assume !(1 == #valid[main_~#b~0#1.base]); {794#false} is VALID [2022-02-20 23:49:34,920 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:49:34,920 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:34,920 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [577545333] [2022-02-20 23:49:34,920 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [577545333] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:34,921 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:49:34,921 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:49:34,921 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [397245245] [2022-02-20 23:49:34,921 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:34,922 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:49:34,922 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:34,922 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:34,928 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:49:34,929 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:49:34,929 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:34,930 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:49:34,930 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:49:34,930 INFO L87 Difference]: Start difference. First operand 33 states and 37 transitions. Second operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:35,059 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-02-20 23:49:35,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:49:35,071 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 7 [2022-02-20 23:49:35,072 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:35,072 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,073 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2022-02-20 23:49:35,073 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,074 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 62 transitions. [2022-02-20 23:49:35,074 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 62 transitions. [2022-02-20 23:49:35,129 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:49:35,132 INFO L225 Difference]: With dead ends: 60 [2022-02-20 23:49:35,133 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 23:49:35,135 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 6 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:49:35,136 INFO L933 BasicCegarLoop]: 16 mSDtfsCounter, 31 mSDsluCounter, 29 mSDsCounter, 0 mSdLazyCounter, 46 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 31 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 48 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 46 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:35,137 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [31 Valid, 45 Invalid, 48 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 46 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:35,138 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 23:49:35,146 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 34. [2022-02-20 23:49:35,146 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:35,146 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 34 states, 27 states have (on average 1.4074074074074074) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,147 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 34 states, 27 states have (on average 1.4074074074074074) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,147 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 34 states, 27 states have (on average 1.4074074074074074) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,148 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:35,148 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-02-20 23:49:35,149 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-02-20 23:49:35,151 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:35,151 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:35,152 INFO L74 IsIncluded]: Start isIncluded. First operand has 34 states, 27 states have (on average 1.4074074074074074) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:49:35,152 INFO L87 Difference]: Start difference. First operand has 34 states, 27 states have (on average 1.4074074074074074) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:49:35,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:35,156 INFO L93 Difference]: Finished difference Result 60 states and 65 transitions. [2022-02-20 23:49:35,156 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 65 transitions. [2022-02-20 23:49:35,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:35,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:35,157 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:35,157 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:35,157 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 34 states, 27 states have (on average 1.4074074074074074) internal successors, (38), 33 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,158 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 34 states to 34 states and 38 transitions. [2022-02-20 23:49:35,158 INFO L78 Accepts]: Start accepts. Automaton has 34 states and 38 transitions. Word has length 7 [2022-02-20 23:49:35,159 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:35,159 INFO L470 AbstractCegarLoop]: Abstraction has 34 states and 38 transitions. [2022-02-20 23:49:35,159 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 1.75) internal successors, (7), 4 states have internal predecessors, (7), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,159 INFO L276 IsEmpty]: Start isEmpty. Operand 34 states and 38 transitions. [2022-02-20 23:49:35,159 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 11 [2022-02-20 23:49:35,160 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:35,160 INFO L514 BasicCegarLoop]: trace histogram [2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:35,160 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4 [2022-02-20 23:49:35,160 INFO L402 AbstractCegarLoop]: === Iteration 6 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:35,161 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:35,161 INFO L85 PathProgramCache]: Analyzing trace with hash -1480744241, now seen corresponding path program 1 times [2022-02-20 23:49:35,161 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:35,162 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1971661859] [2022-02-20 23:49:35,162 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:35,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:35,199 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:35,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {1015#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1015#true} is VALID [2022-02-20 23:49:35,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {1015#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {1015#true} is VALID [2022-02-20 23:49:35,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {1015#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,227 INFO L290 TraceCheckUtils]: 3: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,227 INFO L290 TraceCheckUtils]: 4: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,228 INFO L290 TraceCheckUtils]: 5: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,228 INFO L290 TraceCheckUtils]: 6: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,229 INFO L290 TraceCheckUtils]: 7: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {1018#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:35,230 INFO L290 TraceCheckUtils]: 8: Hoare triple {1018#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {1018#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:35,230 INFO L290 TraceCheckUtils]: 9: Hoare triple {1018#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {1016#false} is VALID [2022-02-20 23:49:35,231 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:49:35,231 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:35,231 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1971661859] [2022-02-20 23:49:35,231 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1971661859] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:35,231 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [896013858] [2022-02-20 23:49:35,232 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:35,232 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:35,232 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:35,239 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:49:35,260 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:49:35,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:35,297 INFO L263 TraceCheckSpWp]: Trace formula consists of 67 conjuncts, 5 conjunts are in the unsatisfiable core [2022-02-20 23:49:35,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:35,321 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:35,403 INFO L290 TraceCheckUtils]: 0: Hoare triple {1015#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1015#true} is VALID [2022-02-20 23:49:35,404 INFO L290 TraceCheckUtils]: 1: Hoare triple {1015#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {1015#true} is VALID [2022-02-20 23:49:35,404 INFO L290 TraceCheckUtils]: 2: Hoare triple {1015#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,405 INFO L290 TraceCheckUtils]: 3: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,405 INFO L290 TraceCheckUtils]: 4: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,406 INFO L290 TraceCheckUtils]: 5: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,406 INFO L290 TraceCheckUtils]: 6: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:49:35,407 INFO L290 TraceCheckUtils]: 7: Hoare triple {1017#(= |ULTIMATE.start_foo_~i~0#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {1018#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:35,407 INFO L290 TraceCheckUtils]: 8: Hoare triple {1018#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {1018#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:35,408 INFO L290 TraceCheckUtils]: 9: Hoare triple {1018#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {1016#false} is VALID [2022-02-20 23:49:35,408 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:49:35,408 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:35,554 INFO L290 TraceCheckUtils]: 9: Hoare triple {1049#(and (< |ULTIMATE.start_foo_~i~0#1| 32) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {1016#false} is VALID [2022-02-20 23:49:35,561 INFO L290 TraceCheckUtils]: 8: Hoare triple {1049#(and (< |ULTIMATE.start_foo_~i~0#1| 32) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {1049#(and (< |ULTIMATE.start_foo_~i~0#1| 32) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:35,562 INFO L290 TraceCheckUtils]: 7: Hoare triple {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {1049#(and (< |ULTIMATE.start_foo_~i~0#1| 32) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:35,563 INFO L290 TraceCheckUtils]: 6: Hoare triple {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} is VALID [2022-02-20 23:49:35,563 INFO L290 TraceCheckUtils]: 5: Hoare triple {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} is VALID [2022-02-20 23:49:35,564 INFO L290 TraceCheckUtils]: 4: Hoare triple {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} is VALID [2022-02-20 23:49:35,565 INFO L290 TraceCheckUtils]: 3: Hoare triple {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} assume !!(foo_~i~0#1 <= foo_~size#1); {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} is VALID [2022-02-20 23:49:35,565 INFO L290 TraceCheckUtils]: 2: Hoare triple {1015#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1056#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} is VALID [2022-02-20 23:49:35,565 INFO L290 TraceCheckUtils]: 1: Hoare triple {1015#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {1015#true} is VALID [2022-02-20 23:49:35,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {1015#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1015#true} is VALID [2022-02-20 23:49:35,566 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:49:35,566 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [896013858] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:35,566 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:35,567 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [3, 3, 3] total 5 [2022-02-20 23:49:35,567 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1894971589] [2022-02-20 23:49:35,567 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:35,568 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 6 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 23:49:35,568 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:35,568 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 3.6) internal successors, (18), 6 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,582 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:49:35,582 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:49:35,582 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:35,583 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:49:35,583 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=13, Invalid=17, Unknown=0, NotChecked=0, Total=30 [2022-02-20 23:49:35,583 INFO L87 Difference]: Start difference. First operand 34 states and 38 transitions. Second operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 6 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,806 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:35,807 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-02-20 23:49:35,807 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-02-20 23:49:35,807 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 6 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 10 [2022-02-20 23:49:35,807 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:35,807 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 6 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,808 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2022-02-20 23:49:35,809 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 3.6) internal successors, (18), 6 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,810 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 141 transitions. [2022-02-20 23:49:35,810 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 6 states and 141 transitions. [2022-02-20 23:49:35,927 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 141 edges. 141 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:35,929 INFO L225 Difference]: With dead ends: 130 [2022-02-20 23:49:35,929 INFO L226 Difference]: Without dead ends: 130 [2022-02-20 23:49:35,929 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 22 GetRequests, 16 SyntacticMatches, 1 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=19, Invalid=23, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:49:35,930 INFO L933 BasicCegarLoop]: 44 mSDtfsCounter, 121 mSDsluCounter, 103 mSDsCounter, 0 mSdLazyCounter, 53 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 121 SdHoareTripleChecker+Valid, 147 SdHoareTripleChecker+Invalid, 57 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 53 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:35,931 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [121 Valid, 147 Invalid, 57 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 53 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:35,931 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 130 states. [2022-02-20 23:49:35,934 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 130 to 48. [2022-02-20 23:49:35,934 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:35,934 INFO L82 GeneralOperation]: Start isEquivalent. First operand 130 states. Second operand has 48 states, 41 states have (on average 1.3902439024390243) internal successors, (57), 47 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,934 INFO L74 IsIncluded]: Start isIncluded. First operand 130 states. Second operand has 48 states, 41 states have (on average 1.3902439024390243) internal successors, (57), 47 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,935 INFO L87 Difference]: Start difference. First operand 130 states. Second operand has 48 states, 41 states have (on average 1.3902439024390243) internal successors, (57), 47 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,937 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:35,937 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-02-20 23:49:35,938 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-02-20 23:49:35,938 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:35,938 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:35,938 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 41 states have (on average 1.3902439024390243) internal successors, (57), 47 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 130 states. [2022-02-20 23:49:35,938 INFO L87 Difference]: Start difference. First operand has 48 states, 41 states have (on average 1.3902439024390243) internal successors, (57), 47 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 130 states. [2022-02-20 23:49:35,941 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:35,941 INFO L93 Difference]: Finished difference Result 130 states and 145 transitions. [2022-02-20 23:49:35,942 INFO L276 IsEmpty]: Start isEmpty. Operand 130 states and 145 transitions. [2022-02-20 23:49:35,942 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:35,942 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:35,943 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:35,943 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:35,943 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 41 states have (on average 1.3902439024390243) internal successors, (57), 47 states have internal predecessors, (57), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,944 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 57 transitions. [2022-02-20 23:49:35,944 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 57 transitions. Word has length 10 [2022-02-20 23:49:35,944 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:35,945 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 57 transitions. [2022-02-20 23:49:35,945 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 3.6) internal successors, (18), 6 states have internal predecessors, (18), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:35,945 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 57 transitions. [2022-02-20 23:49:35,945 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 12 [2022-02-20 23:49:35,945 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:35,946 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:35,969 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Ended with exit code 0 [2022-02-20 23:49:36,159 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable5 [2022-02-20 23:49:36,160 INFO L402 AbstractCegarLoop]: === Iteration 7 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:36,160 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:36,160 INFO L85 PathProgramCache]: Analyzing trace with hash 1341568839, now seen corresponding path program 1 times [2022-02-20 23:49:36,160 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:36,160 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [793423667] [2022-02-20 23:49:36,160 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:36,160 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:36,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:36,295 INFO L290 TraceCheckUtils]: 0: Hoare triple {1517#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1517#true} is VALID [2022-02-20 23:49:36,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {1517#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {1519#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:49:36,298 INFO L290 TraceCheckUtils]: 2: Hoare triple {1519#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,299 INFO L290 TraceCheckUtils]: 3: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,299 INFO L290 TraceCheckUtils]: 4: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,300 INFO L290 TraceCheckUtils]: 5: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,301 INFO L290 TraceCheckUtils]: 6: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,302 INFO L290 TraceCheckUtils]: 7: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {1521#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 31) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,303 INFO L290 TraceCheckUtils]: 8: Hoare triple {1521#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 31) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {1521#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 31) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,303 INFO L290 TraceCheckUtils]: 9: Hoare triple {1521#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 31) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1522#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|) (<= (+ |ULTIMATE.start_foo_~i~0#1| 31) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,304 INFO L290 TraceCheckUtils]: 10: Hoare triple {1522#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|) (<= (+ |ULTIMATE.start_foo_~i~0#1| 31) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !(1 + (foo_~b#1.offset + foo_~i~0#1) <= #length[foo_~b#1.base] && 0 <= foo_~b#1.offset + foo_~i~0#1); {1518#false} is VALID [2022-02-20 23:49:36,304 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:49:36,305 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:36,305 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [793423667] [2022-02-20 23:49:36,305 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [793423667] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:36,306 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1490218492] [2022-02-20 23:49:36,306 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:36,306 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:36,306 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:36,307 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:49:36,310 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:49:36,349 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:36,350 INFO L263 TraceCheckSpWp]: Trace formula consists of 69 conjuncts, 17 conjunts are in the unsatisfiable core [2022-02-20 23:49:36,358 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:36,358 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:36,444 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:49:36,445 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:49:36,598 INFO L290 TraceCheckUtils]: 0: Hoare triple {1517#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1517#true} is VALID [2022-02-20 23:49:36,599 INFO L290 TraceCheckUtils]: 1: Hoare triple {1517#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {1519#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:49:36,600 INFO L290 TraceCheckUtils]: 2: Hoare triple {1519#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,600 INFO L290 TraceCheckUtils]: 3: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,601 INFO L290 TraceCheckUtils]: 4: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,601 INFO L290 TraceCheckUtils]: 5: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,604 INFO L290 TraceCheckUtils]: 6: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,605 INFO L290 TraceCheckUtils]: 7: Hoare triple {1520#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {1547#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,606 INFO L290 TraceCheckUtils]: 8: Hoare triple {1547#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {1547#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,606 INFO L290 TraceCheckUtils]: 9: Hoare triple {1547#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1547#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,607 INFO L290 TraceCheckUtils]: 10: Hoare triple {1547#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !(1 + (foo_~b#1.offset + foo_~i~0#1) <= #length[foo_~b#1.base] && 0 <= foo_~b#1.offset + foo_~i~0#1); {1518#false} is VALID [2022-02-20 23:49:36,607 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:49:36,607 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:36,761 INFO L290 TraceCheckUtils]: 10: Hoare triple {1557#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !(1 + (foo_~b#1.offset + foo_~i~0#1) <= #length[foo_~b#1.base] && 0 <= foo_~b#1.offset + foo_~i~0#1); {1518#false} is VALID [2022-02-20 23:49:36,762 INFO L290 TraceCheckUtils]: 9: Hoare triple {1557#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1557#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,763 INFO L290 TraceCheckUtils]: 8: Hoare triple {1557#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {1557#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,764 INFO L290 TraceCheckUtils]: 7: Hoare triple {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {1557#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:49:36,764 INFO L290 TraceCheckUtils]: 6: Hoare triple {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:49:36,766 INFO L290 TraceCheckUtils]: 5: Hoare triple {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:49:36,767 INFO L290 TraceCheckUtils]: 4: Hoare triple {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:49:36,767 INFO L290 TraceCheckUtils]: 3: Hoare triple {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} assume !!(foo_~i~0#1 <= foo_~size#1); {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:49:36,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {1583#(and (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {1567#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:49:36,769 INFO L290 TraceCheckUtils]: 1: Hoare triple {1517#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {1583#(and (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 1)) (<= (+ 2 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:49:36,769 INFO L290 TraceCheckUtils]: 0: Hoare triple {1517#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {1517#true} is VALID [2022-02-20 23:49:36,769 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:49:36,770 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1490218492] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:36,770 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:36,770 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 4] total 9 [2022-02-20 23:49:36,770 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1684590513] [2022-02-20 23:49:36,770 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:36,771 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:49:36,771 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:36,771 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:36,789 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:49:36,790 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-02-20 23:49:36,790 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:36,790 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-02-20 23:49:36,791 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:49:36,791 INFO L87 Difference]: Start difference. First operand 48 states and 57 transitions. Second operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:37,277 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:37,277 INFO L93 Difference]: Finished difference Result 129 states and 144 transitions. [2022-02-20 23:49:37,277 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:49:37,277 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 11 [2022-02-20 23:49:37,278 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:37,278 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:37,280 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2022-02-20 23:49:37,280 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:37,282 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 140 transitions. [2022-02-20 23:49:37,282 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 140 transitions. [2022-02-20 23:49:37,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:37,429 INFO L225 Difference]: With dead ends: 129 [2022-02-20 23:49:37,429 INFO L226 Difference]: Without dead ends: 129 [2022-02-20 23:49:37,429 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 33 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=73, Invalid=137, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:49:37,430 INFO L933 BasicCegarLoop]: 29 mSDtfsCounter, 243 mSDsluCounter, 88 mSDsCounter, 0 mSdLazyCounter, 124 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 243 SdHoareTripleChecker+Valid, 117 SdHoareTripleChecker+Invalid, 149 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 124 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:37,430 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [243 Valid, 117 Invalid, 149 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 124 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:49:37,430 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 129 states. [2022-02-20 23:49:37,432 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 129 to 49. [2022-02-20 23:49:37,432 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:37,433 INFO L82 GeneralOperation]: Start isEquivalent. First operand 129 states. Second operand has 49 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 48 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:37,433 INFO L74 IsIncluded]: Start isIncluded. First operand 129 states. Second operand has 49 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 48 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:37,433 INFO L87 Difference]: Start difference. First operand 129 states. Second operand has 49 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 48 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:37,437 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:37,437 INFO L93 Difference]: Finished difference Result 129 states and 144 transitions. [2022-02-20 23:49:37,437 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 144 transitions. [2022-02-20 23:49:37,437 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:37,437 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:37,438 INFO L74 IsIncluded]: Start isIncluded. First operand has 49 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 48 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 129 states. [2022-02-20 23:49:37,438 INFO L87 Difference]: Start difference. First operand has 49 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 48 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 129 states. [2022-02-20 23:49:37,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:37,441 INFO L93 Difference]: Finished difference Result 129 states and 144 transitions. [2022-02-20 23:49:37,441 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 144 transitions. [2022-02-20 23:49:37,442 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:37,442 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:37,442 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:37,442 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:37,442 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 49 states, 42 states have (on average 1.3333333333333333) internal successors, (56), 48 states have internal predecessors, (56), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:37,443 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 49 states to 49 states and 56 transitions. [2022-02-20 23:49:37,444 INFO L78 Accepts]: Start accepts. Automaton has 49 states and 56 transitions. Word has length 11 [2022-02-20 23:49:37,444 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:37,444 INFO L470 AbstractCegarLoop]: Abstraction has 49 states and 56 transitions. [2022-02-20 23:49:37,444 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 9 states have (on average 2.7777777777777777) internal successors, (25), 10 states have internal predecessors, (25), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:37,444 INFO L276 IsEmpty]: Start isEmpty. Operand 49 states and 56 transitions. [2022-02-20 23:49:37,445 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 13 [2022-02-20 23:49:37,445 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:37,445 INFO L514 BasicCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:37,471 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:49:37,659 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,SelfDestructingSolverStorable6 [2022-02-20 23:49:37,659 INFO L402 AbstractCegarLoop]: === Iteration 8 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:37,660 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:37,660 INFO L85 PathProgramCache]: Analyzing trace with hash -1361088610, now seen corresponding path program 1 times [2022-02-20 23:49:37,660 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:37,660 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [877739922] [2022-02-20 23:49:37,660 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:37,660 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:37,675 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:37,704 INFO L290 TraceCheckUtils]: 0: Hoare triple {2035#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2035#true} is VALID [2022-02-20 23:49:37,704 INFO L290 TraceCheckUtils]: 1: Hoare triple {2035#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {2037#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:37,705 INFO L290 TraceCheckUtils]: 2: Hoare triple {2037#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,705 INFO L290 TraceCheckUtils]: 3: Hoare triple {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,706 INFO L290 TraceCheckUtils]: 4: Hoare triple {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,706 INFO L290 TraceCheckUtils]: 5: Hoare triple {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,707 INFO L290 TraceCheckUtils]: 6: Hoare triple {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,707 INFO L290 TraceCheckUtils]: 7: Hoare triple {2038#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2039#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:37,708 INFO L290 TraceCheckUtils]: 8: Hoare triple {2039#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {2036#false} is VALID [2022-02-20 23:49:37,708 INFO L290 TraceCheckUtils]: 9: Hoare triple {2036#false} foo_#res#1 := foo_~i~0#1; {2036#false} is VALID [2022-02-20 23:49:37,708 INFO L290 TraceCheckUtils]: 10: Hoare triple {2036#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {2036#false} is VALID [2022-02-20 23:49:37,708 INFO L290 TraceCheckUtils]: 11: Hoare triple {2036#false} assume !(1 == #valid[main_~#b~0#1.base]); {2036#false} is VALID [2022-02-20 23:49:37,709 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:49:37,709 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:37,709 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [877739922] [2022-02-20 23:49:37,709 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [877739922] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:37,709 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1182230895] [2022-02-20 23:49:37,709 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:37,710 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:37,710 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:37,711 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:49:37,719 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:49:37,755 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:37,756 INFO L263 TraceCheckSpWp]: Trace formula consists of 73 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:49:37,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:37,764 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:37,898 INFO L290 TraceCheckUtils]: 0: Hoare triple {2035#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2035#true} is VALID [2022-02-20 23:49:37,899 INFO L290 TraceCheckUtils]: 1: Hoare triple {2035#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {2046#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:37,902 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,902 INFO L290 TraceCheckUtils]: 3: Hoare triple {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,903 INFO L290 TraceCheckUtils]: 4: Hoare triple {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,903 INFO L290 TraceCheckUtils]: 5: Hoare triple {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,904 INFO L290 TraceCheckUtils]: 6: Hoare triple {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,905 INFO L290 TraceCheckUtils]: 7: Hoare triple {2050#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 1 |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2066#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:37,905 INFO L290 TraceCheckUtils]: 8: Hoare triple {2066#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {2036#false} is VALID [2022-02-20 23:49:37,905 INFO L290 TraceCheckUtils]: 9: Hoare triple {2036#false} foo_#res#1 := foo_~i~0#1; {2036#false} is VALID [2022-02-20 23:49:37,906 INFO L290 TraceCheckUtils]: 10: Hoare triple {2036#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {2036#false} is VALID [2022-02-20 23:49:37,906 INFO L290 TraceCheckUtils]: 11: Hoare triple {2036#false} assume !(1 == #valid[main_~#b~0#1.base]); {2036#false} is VALID [2022-02-20 23:49:37,906 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:49:37,906 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:37,989 INFO L290 TraceCheckUtils]: 11: Hoare triple {2036#false} assume !(1 == #valid[main_~#b~0#1.base]); {2036#false} is VALID [2022-02-20 23:49:37,990 INFO L290 TraceCheckUtils]: 10: Hoare triple {2036#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {2036#false} is VALID [2022-02-20 23:49:37,990 INFO L290 TraceCheckUtils]: 9: Hoare triple {2036#false} foo_#res#1 := foo_~i~0#1; {2036#false} is VALID [2022-02-20 23:49:37,999 INFO L290 TraceCheckUtils]: 8: Hoare triple {2039#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {2036#false} is VALID [2022-02-20 23:49:38,000 INFO L290 TraceCheckUtils]: 7: Hoare triple {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2039#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:38,001 INFO L290 TraceCheckUtils]: 6: Hoare triple {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:38,001 INFO L290 TraceCheckUtils]: 5: Hoare triple {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:38,002 INFO L290 TraceCheckUtils]: 4: Hoare triple {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:38,002 INFO L290 TraceCheckUtils]: 3: Hoare triple {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:38,003 INFO L290 TraceCheckUtils]: 2: Hoare triple {2046#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2091#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:38,004 INFO L290 TraceCheckUtils]: 1: Hoare triple {2035#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {2046#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:38,004 INFO L290 TraceCheckUtils]: 0: Hoare triple {2035#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2035#true} is VALID [2022-02-20 23:49:38,004 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:49:38,004 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1182230895] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:38,005 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:38,005 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 5, 5] total 9 [2022-02-20 23:49:38,005 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1419233159] [2022-02-20 23:49:38,005 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:38,005 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 23:49:38,006 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:38,006 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,029 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 26 edges. 26 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:38,029 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:49:38,030 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:38,031 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:49:38,031 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=47, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:49:38,032 INFO L87 Difference]: Start difference. First operand 49 states and 56 transitions. Second operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,319 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:38,319 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-02-20 23:49:38,320 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-02-20 23:49:38,320 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 12 [2022-02-20 23:49:38,320 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:38,320 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 79 transitions. [2022-02-20 23:49:38,324 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,326 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 79 transitions. [2022-02-20 23:49:38,326 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 10 states and 79 transitions. [2022-02-20 23:49:38,391 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:38,393 INFO L225 Difference]: With dead ends: 88 [2022-02-20 23:49:38,393 INFO L226 Difference]: Without dead ends: 88 [2022-02-20 23:49:38,393 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=74, Invalid=136, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:49:38,394 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 135 mSDsluCounter, 30 mSDsCounter, 0 mSdLazyCounter, 85 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 135 SdHoareTripleChecker+Valid, 42 SdHoareTripleChecker+Invalid, 105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 85 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:38,394 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [135 Valid, 42 Invalid, 105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 85 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:49:38,394 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 88 states. [2022-02-20 23:49:38,396 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 88 to 48. [2022-02-20 23:49:38,396 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:38,396 INFO L82 GeneralOperation]: Start isEquivalent. First operand 88 states. Second operand has 48 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 47 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,396 INFO L74 IsIncluded]: Start isIncluded. First operand 88 states. Second operand has 48 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 47 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,396 INFO L87 Difference]: Start difference. First operand 88 states. Second operand has 48 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 47 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,398 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:38,398 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-02-20 23:49:38,398 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-02-20 23:49:38,398 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:38,399 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:38,399 INFO L74 IsIncluded]: Start isIncluded. First operand has 48 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 47 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 88 states. [2022-02-20 23:49:38,400 INFO L87 Difference]: Start difference. First operand has 48 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 47 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 88 states. [2022-02-20 23:49:38,402 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:38,402 INFO L93 Difference]: Finished difference Result 88 states and 96 transitions. [2022-02-20 23:49:38,402 INFO L276 IsEmpty]: Start isEmpty. Operand 88 states and 96 transitions. [2022-02-20 23:49:38,402 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:38,403 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:38,403 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:38,403 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:38,403 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 48 states, 41 states have (on average 1.2926829268292683) internal successors, (53), 47 states have internal predecessors, (53), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,404 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 48 states to 48 states and 53 transitions. [2022-02-20 23:49:38,404 INFO L78 Accepts]: Start accepts. Automaton has 48 states and 53 transitions. Word has length 12 [2022-02-20 23:49:38,404 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:38,405 INFO L470 AbstractCegarLoop]: Abstraction has 48 states and 53 transitions. [2022-02-20 23:49:38,405 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 2.888888888888889) internal successors, (26), 9 states have internal predecessors, (26), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,405 INFO L276 IsEmpty]: Start isEmpty. Operand 48 states and 53 transitions. [2022-02-20 23:49:38,405 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:49:38,405 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:38,405 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:38,430 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:49:38,618 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:38,619 INFO L402 AbstractCegarLoop]: === Iteration 9 === Targeting ULTIMATE.startErr3REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:38,619 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:38,619 INFO L85 PathProgramCache]: Analyzing trace with hash 4840471, now seen corresponding path program 2 times [2022-02-20 23:49:38,619 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:38,619 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [805676386] [2022-02-20 23:49:38,619 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:38,620 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:38,644 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:38,716 INFO L290 TraceCheckUtils]: 0: Hoare triple {2436#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2436#true} is VALID [2022-02-20 23:49:38,717 INFO L290 TraceCheckUtils]: 1: Hoare triple {2436#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {2438#(or (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1))} is VALID [2022-02-20 23:49:38,718 INFO L290 TraceCheckUtils]: 2: Hoare triple {2438#(or (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2439#(or (= |ULTIMATE.start_foo_~b#1.base| |ULTIMATE.start_main_~#b~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1))} is VALID [2022-02-20 23:49:38,718 INFO L290 TraceCheckUtils]: 3: Hoare triple {2439#(or (= |ULTIMATE.start_foo_~b#1.base| |ULTIMATE.start_main_~#b~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {2439#(or (= |ULTIMATE.start_foo_~b#1.base| |ULTIMATE.start_main_~#b~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1))} is VALID [2022-02-20 23:49:38,719 INFO L290 TraceCheckUtils]: 4: Hoare triple {2439#(or (= |ULTIMATE.start_foo_~b#1.base| |ULTIMATE.start_main_~#b~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2439#(or (= |ULTIMATE.start_foo_~b#1.base| |ULTIMATE.start_main_~#b~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1))} is VALID [2022-02-20 23:49:38,720 INFO L290 TraceCheckUtils]: 5: Hoare triple {2439#(or (= |ULTIMATE.start_foo_~b#1.base| |ULTIMATE.start_main_~#b~0#1.base|) (= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,720 INFO L290 TraceCheckUtils]: 6: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,720 INFO L290 TraceCheckUtils]: 7: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,721 INFO L290 TraceCheckUtils]: 9: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,722 INFO L290 TraceCheckUtils]: 10: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,722 INFO L290 TraceCheckUtils]: 12: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,723 INFO L290 TraceCheckUtils]: 13: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} assume !(foo_~i~0#1 <= foo_~size#1); {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,723 INFO L290 TraceCheckUtils]: 14: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} foo_#res#1 := foo_~i~0#1; {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,724 INFO L290 TraceCheckUtils]: 15: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} is VALID [2022-02-20 23:49:38,724 INFO L290 TraceCheckUtils]: 16: Hoare triple {2440#(= (select |#valid| |ULTIMATE.start_main_~#b~0#1.base|) 1)} assume !(1 == #valid[main_~#b~0#1.base]); {2437#false} is VALID [2022-02-20 23:49:38,724 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 3 trivial. 0 not checked. [2022-02-20 23:49:38,725 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:38,725 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [805676386] [2022-02-20 23:49:38,725 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [805676386] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:38,725 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:49:38,725 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-02-20 23:49:38,725 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1173714389] [2022-02-20 23:49:38,725 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:38,726 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:49:38,726 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:38,726 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 5 states, 4 states have (on average 3.75) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,738 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:38,738 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-02-20 23:49:38,738 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:38,739 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-02-20 23:49:38,739 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:49:38,739 INFO L87 Difference]: Start difference. First operand 48 states and 53 transitions. Second operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,783 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:38,783 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-02-20 23:49:38,783 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:49:38,783 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:49:38,784 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:38,784 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 31 transitions. [2022-02-20 23:49:38,785 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 4 states have (on average 3.75) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,785 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 31 transitions. [2022-02-20 23:49:38,785 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 31 transitions. [2022-02-20 23:49:38,810 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 31 edges. 31 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:38,811 INFO L225 Difference]: With dead ends: 46 [2022-02-20 23:49:38,811 INFO L226 Difference]: Without dead ends: 46 [2022-02-20 23:49:38,811 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 5 GetRequests, 2 SyntacticMatches, 0 SemanticMatches, 3 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=9, Invalid=11, Unknown=0, NotChecked=0, Total=20 [2022-02-20 23:49:38,812 INFO L933 BasicCegarLoop]: 22 mSDtfsCounter, 30 mSDsluCounter, 0 mSDsCounter, 0 mSdLazyCounter, 19 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 30 SdHoareTripleChecker+Valid, 22 SdHoareTripleChecker+Invalid, 21 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 19 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:38,812 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [30 Valid, 22 Invalid, 21 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 19 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:38,813 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 46 states. [2022-02-20 23:49:38,814 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 46 to 46. [2022-02-20 23:49:38,814 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:38,815 INFO L82 GeneralOperation]: Start isEquivalent. First operand 46 states. Second operand has 46 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 45 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,815 INFO L74 IsIncluded]: Start isIncluded. First operand 46 states. Second operand has 46 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 45 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,815 INFO L87 Difference]: Start difference. First operand 46 states. Second operand has 46 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 45 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,816 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:38,816 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-02-20 23:49:38,816 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-02-20 23:49:38,817 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:38,817 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:38,817 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 45 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 46 states. [2022-02-20 23:49:38,817 INFO L87 Difference]: Start difference. First operand has 46 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 45 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 46 states. [2022-02-20 23:49:38,818 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:38,819 INFO L93 Difference]: Finished difference Result 46 states and 51 transitions. [2022-02-20 23:49:38,819 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-02-20 23:49:38,819 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:38,819 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:38,819 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:38,819 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:38,820 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 41 states have (on average 1.2439024390243902) internal successors, (51), 45 states have internal predecessors, (51), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,821 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 51 transitions. [2022-02-20 23:49:38,821 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 51 transitions. Word has length 17 [2022-02-20 23:49:38,821 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:38,821 INFO L470 AbstractCegarLoop]: Abstraction has 46 states and 51 transitions. [2022-02-20 23:49:38,821 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 4 states have (on average 3.75) internal successors, (15), 5 states have internal predecessors, (15), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,822 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 51 transitions. [2022-02-20 23:49:38,822 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-02-20 23:49:38,822 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:38,822 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:38,822 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-02-20 23:49:38,822 INFO L402 AbstractCegarLoop]: === Iteration 10 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:38,823 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:38,823 INFO L85 PathProgramCache]: Analyzing trace with hash 4840472, now seen corresponding path program 1 times [2022-02-20 23:49:38,823 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:38,823 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1221920851] [2022-02-20 23:49:38,823 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:38,824 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:38,842 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:38,891 INFO L290 TraceCheckUtils]: 0: Hoare triple {2627#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2627#true} is VALID [2022-02-20 23:49:38,893 INFO L290 TraceCheckUtils]: 1: Hoare triple {2627#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {2629#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,893 INFO L290 TraceCheckUtils]: 2: Hoare triple {2629#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,894 INFO L290 TraceCheckUtils]: 3: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,894 INFO L290 TraceCheckUtils]: 4: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,895 INFO L290 TraceCheckUtils]: 5: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,895 INFO L290 TraceCheckUtils]: 6: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,897 INFO L290 TraceCheckUtils]: 9: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,898 INFO L290 TraceCheckUtils]: 10: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,898 INFO L290 TraceCheckUtils]: 11: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,899 INFO L290 TraceCheckUtils]: 12: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,899 INFO L290 TraceCheckUtils]: 13: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,900 INFO L290 TraceCheckUtils]: 14: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,900 INFO L290 TraceCheckUtils]: 15: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:38,901 INFO L290 TraceCheckUtils]: 16: Hoare triple {2630#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {2628#false} is VALID [2022-02-20 23:49:38,901 INFO L134 CoverageAnalysis]: Checked inductivity of 7 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:38,901 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:38,901 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1221920851] [2022-02-20 23:49:38,902 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1221920851] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:38,902 INFO L191 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-02-20 23:49:38,902 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-02-20 23:49:38,902 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [776611138] [2022-02-20 23:49:38,902 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:38,903 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:49:38,903 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:38,904 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,913 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 12 edges. 12 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:38,914 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:49:38,914 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:38,914 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:49:38,914 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:49:38,915 INFO L87 Difference]: Start difference. First operand 46 states and 51 transitions. Second operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,968 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:38,968 INFO L93 Difference]: Finished difference Result 76 states and 84 transitions. [2022-02-20 23:49:38,968 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-02-20 23:49:38,968 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 17 [2022-02-20 23:49:38,969 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:38,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,970 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 44 transitions. [2022-02-20 23:49:38,970 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:38,971 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 44 transitions. [2022-02-20 23:49:38,971 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 3 states and 44 transitions. [2022-02-20 23:49:39,006 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 44 edges. 44 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:39,007 INFO L225 Difference]: With dead ends: 76 [2022-02-20 23:49:39,007 INFO L226 Difference]: Without dead ends: 76 [2022-02-20 23:49:39,007 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 3 GetRequests, 1 SyntacticMatches, 0 SemanticMatches, 2 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=6, Invalid=6, Unknown=0, NotChecked=0, Total=12 [2022-02-20 23:49:39,008 INFO L933 BasicCegarLoop]: 24 mSDtfsCounter, 17 mSDsluCounter, 11 mSDsCounter, 0 mSdLazyCounter, 22 mSolverCounterSat, 1 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 17 SdHoareTripleChecker+Valid, 35 SdHoareTripleChecker+Invalid, 23 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 1 IncrementalHoareTripleChecker+Valid, 22 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:39,008 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [17 Valid, 35 Invalid, 23 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [1 Valid, 22 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:39,009 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 76 states. [2022-02-20 23:49:39,011 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 76 to 72. [2022-02-20 23:49:39,011 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:39,011 INFO L82 GeneralOperation]: Start isEquivalent. First operand 76 states. Second operand has 72 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:39,012 INFO L74 IsIncluded]: Start isIncluded. First operand 76 states. Second operand has 72 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:39,012 INFO L87 Difference]: Start difference. First operand 76 states. Second operand has 72 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:39,017 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:39,017 INFO L93 Difference]: Finished difference Result 76 states and 84 transitions. [2022-02-20 23:49:39,017 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-02-20 23:49:39,017 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:39,017 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:39,018 INFO L74 IsIncluded]: Start isIncluded. First operand has 72 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 76 states. [2022-02-20 23:49:39,025 INFO L87 Difference]: Start difference. First operand has 72 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 76 states. [2022-02-20 23:49:39,026 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:39,026 INFO L93 Difference]: Finished difference Result 76 states and 84 transitions. [2022-02-20 23:49:39,026 INFO L276 IsEmpty]: Start isEmpty. Operand 76 states and 84 transitions. [2022-02-20 23:49:39,026 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:39,026 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:39,027 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:39,027 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:39,036 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 72 states, 67 states have (on average 1.2238805970149254) internal successors, (82), 71 states have internal predecessors, (82), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:39,037 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 72 states to 72 states and 82 transitions. [2022-02-20 23:49:39,037 INFO L78 Accepts]: Start accepts. Automaton has 72 states and 82 transitions. Word has length 17 [2022-02-20 23:49:39,037 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:39,037 INFO L470 AbstractCegarLoop]: Abstraction has 72 states and 82 transitions. [2022-02-20 23:49:39,038 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 4.0) internal successors, (12), 4 states have internal predecessors, (12), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:39,038 INFO L276 IsEmpty]: Start isEmpty. Operand 72 states and 82 transitions. [2022-02-20 23:49:39,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-02-20 23:49:39,038 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:39,038 INFO L514 BasicCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:39,039 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-02-20 23:49:39,039 INFO L402 AbstractCegarLoop]: === Iteration 11 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:39,039 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:39,039 INFO L85 PathProgramCache]: Analyzing trace with hash -1949815299, now seen corresponding path program 1 times [2022-02-20 23:49:39,040 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:39,040 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1848995197] [2022-02-20 23:49:39,040 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:39,040 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:39,058 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:39,121 INFO L290 TraceCheckUtils]: 0: Hoare triple {2933#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2933#true} is VALID [2022-02-20 23:49:39,122 INFO L290 TraceCheckUtils]: 1: Hoare triple {2933#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,123 INFO L290 TraceCheckUtils]: 2: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,123 INFO L290 TraceCheckUtils]: 3: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,124 INFO L290 TraceCheckUtils]: 4: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,124 INFO L290 TraceCheckUtils]: 5: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,125 INFO L290 TraceCheckUtils]: 6: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,125 INFO L290 TraceCheckUtils]: 7: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,126 INFO L290 TraceCheckUtils]: 8: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,126 INFO L290 TraceCheckUtils]: 9: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,127 INFO L290 TraceCheckUtils]: 10: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,128 INFO L290 TraceCheckUtils]: 11: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,128 INFO L290 TraceCheckUtils]: 12: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,128 INFO L290 TraceCheckUtils]: 13: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !(foo_~i~0#1 <= foo_~size#1); {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,129 INFO L290 TraceCheckUtils]: 14: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} foo_#res#1 := foo_~i~0#1; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,129 INFO L290 TraceCheckUtils]: 15: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:39,130 INFO L290 TraceCheckUtils]: 16: Hoare triple {2935#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {2936#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:39,131 INFO L290 TraceCheckUtils]: 17: Hoare triple {2936#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} havoc main_#t~ret3#1; {2936#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:39,131 INFO L290 TraceCheckUtils]: 18: Hoare triple {2936#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {2937#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:39,132 INFO L290 TraceCheckUtils]: 19: Hoare triple {2937#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(main_~i~1#1 % 4294967296 < 32); {2937#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:39,132 INFO L290 TraceCheckUtils]: 20: Hoare triple {2937#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_~i~1#1 := 0; {2936#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:39,133 INFO L290 TraceCheckUtils]: 21: Hoare triple {2936#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {2936#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:39,133 INFO L290 TraceCheckUtils]: 22: Hoare triple {2936#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {2934#false} is VALID [2022-02-20 23:49:39,134 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:39,134 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:39,134 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1848995197] [2022-02-20 23:49:39,134 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1848995197] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:39,134 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1256919350] [2022-02-20 23:49:39,134 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:39,134 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:39,134 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:39,136 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:49:39,160 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:49:39,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:39,195 INFO L263 TraceCheckSpWp]: Trace formula consists of 102 conjuncts, 6 conjunts are in the unsatisfiable core [2022-02-20 23:49:39,214 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:39,216 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:39,461 INFO L290 TraceCheckUtils]: 0: Hoare triple {2933#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2933#true} is VALID [2022-02-20 23:49:39,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {2933#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,463 INFO L290 TraceCheckUtils]: 3: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,463 INFO L290 TraceCheckUtils]: 4: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,464 INFO L290 TraceCheckUtils]: 5: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,465 INFO L290 TraceCheckUtils]: 6: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,465 INFO L290 TraceCheckUtils]: 7: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,466 INFO L290 TraceCheckUtils]: 8: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,467 INFO L290 TraceCheckUtils]: 9: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,468 INFO L290 TraceCheckUtils]: 10: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,468 INFO L290 TraceCheckUtils]: 11: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,469 INFO L290 TraceCheckUtils]: 12: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,469 INFO L290 TraceCheckUtils]: 13: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(foo_~i~0#1 <= foo_~size#1); {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,470 INFO L290 TraceCheckUtils]: 14: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#res#1 := foo_~i~0#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,470 INFO L290 TraceCheckUtils]: 15: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,471 INFO L290 TraceCheckUtils]: 16: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,472 INFO L290 TraceCheckUtils]: 17: Hoare triple {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} havoc main_#t~ret3#1; {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,472 INFO L290 TraceCheckUtils]: 18: Hoare triple {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,474 INFO L290 TraceCheckUtils]: 19: Hoare triple {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(main_~i~1#1 % 4294967296 < 32); {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,474 INFO L290 TraceCheckUtils]: 20: Hoare triple {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_~i~1#1 := 0; {3003#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,475 INFO L290 TraceCheckUtils]: 21: Hoare triple {3003#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(main_~i~1#1 % 4294967296 < 32); {3003#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {3003#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {2934#false} is VALID [2022-02-20 23:49:39,476 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:39,476 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:39,578 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 28 treesize of output 24 [2022-02-20 23:49:39,873 INFO L290 TraceCheckUtils]: 22: Hoare triple {3010#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {2934#false} is VALID [2022-02-20 23:49:39,874 INFO L290 TraceCheckUtils]: 21: Hoare triple {3010#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {3010#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:39,875 INFO L290 TraceCheckUtils]: 20: Hoare triple {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_~i~1#1 := 0; {3010#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:39,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(main_~i~1#1 % 4294967296 < 32); {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,877 INFO L290 TraceCheckUtils]: 18: Hoare triple {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,877 INFO L290 TraceCheckUtils]: 17: Hoare triple {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} havoc main_#t~ret3#1; {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,878 INFO L290 TraceCheckUtils]: 16: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {2990#(and (<= 0 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,879 INFO L290 TraceCheckUtils]: 15: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,879 INFO L290 TraceCheckUtils]: 14: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#res#1 := foo_~i~0#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,879 INFO L290 TraceCheckUtils]: 13: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(foo_~i~0#1 <= foo_~size#1); {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,880 INFO L290 TraceCheckUtils]: 12: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,881 INFO L290 TraceCheckUtils]: 10: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,881 INFO L290 TraceCheckUtils]: 9: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,882 INFO L290 TraceCheckUtils]: 8: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,883 INFO L290 TraceCheckUtils]: 7: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,883 INFO L290 TraceCheckUtils]: 6: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,884 INFO L290 TraceCheckUtils]: 5: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,884 INFO L290 TraceCheckUtils]: 4: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,885 INFO L290 TraceCheckUtils]: 3: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,885 INFO L290 TraceCheckUtils]: 2: Hoare triple {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,886 INFO L290 TraceCheckUtils]: 1: Hoare triple {2933#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {2944#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:39,886 INFO L290 TraceCheckUtils]: 0: Hoare triple {2933#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {2933#true} is VALID [2022-02-20 23:49:39,887 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:39,887 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1256919350] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:39,887 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:39,887 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [4, 4, 4] total 8 [2022-02-20 23:49:39,887 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [330827271] [2022-02-20 23:49:39,887 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:39,888 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 4.75) internal successors, (38), 9 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 23 [2022-02-20 23:49:39,888 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:39,888 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 4.75) internal successors, (38), 9 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:39,919 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:39,920 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-02-20 23:49:39,920 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:39,920 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-02-20 23:49:39,920 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=26, Invalid=46, Unknown=0, NotChecked=0, Total=72 [2022-02-20 23:49:39,921 INFO L87 Difference]: Start difference. First operand 72 states and 82 transitions. Second operand has 9 states, 8 states have (on average 4.75) internal successors, (38), 9 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,163 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:40,163 INFO L93 Difference]: Finished difference Result 80 states and 89 transitions. [2022-02-20 23:49:40,163 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:49:40,163 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 4.75) internal successors, (38), 9 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 23 [2022-02-20 23:49:40,163 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:40,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 4.75) internal successors, (38), 9 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,164 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 50 transitions. [2022-02-20 23:49:40,164 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 4.75) internal successors, (38), 9 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,165 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 50 transitions. [2022-02-20 23:49:40,165 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 50 transitions. [2022-02-20 23:49:40,214 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:40,215 INFO L225 Difference]: With dead ends: 80 [2022-02-20 23:49:40,215 INFO L226 Difference]: Without dead ends: 80 [2022-02-20 23:49:40,215 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 51 GetRequests, 40 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=40, Invalid=70, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:49:40,216 INFO L933 BasicCegarLoop]: 13 mSDtfsCounter, 108 mSDsluCounter, 26 mSDsCounter, 0 mSdLazyCounter, 52 mSolverCounterSat, 15 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 108 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 67 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 15 IncrementalHoareTripleChecker+Valid, 52 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:40,216 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [108 Valid, 39 Invalid, 67 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [15 Valid, 52 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:49:40,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-02-20 23:49:40,218 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 73. [2022-02-20 23:49:40,218 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:40,218 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 73 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 72 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,218 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 73 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 72 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,219 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 73 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 72 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,220 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:40,220 INFO L93 Difference]: Finished difference Result 80 states and 89 transitions. [2022-02-20 23:49:40,220 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 89 transitions. [2022-02-20 23:49:40,220 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:40,220 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:40,221 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 72 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 80 states. [2022-02-20 23:49:40,221 INFO L87 Difference]: Start difference. First operand has 73 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 72 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 80 states. [2022-02-20 23:49:40,222 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:40,222 INFO L93 Difference]: Finished difference Result 80 states and 89 transitions. [2022-02-20 23:49:40,222 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 89 transitions. [2022-02-20 23:49:40,222 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:40,222 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:40,222 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:40,223 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:40,223 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 68 states have (on average 1.2205882352941178) internal successors, (83), 72 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,224 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 83 transitions. [2022-02-20 23:49:40,224 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 83 transitions. Word has length 23 [2022-02-20 23:49:40,224 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:40,224 INFO L470 AbstractCegarLoop]: Abstraction has 73 states and 83 transitions. [2022-02-20 23:49:40,224 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 4.75) internal successors, (38), 9 states have internal predecessors, (38), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,224 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 83 transitions. [2022-02-20 23:49:40,225 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-02-20 23:49:40,225 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:40,225 INFO L514 BasicCegarLoop]: trace histogram [5, 4, 4, 4, 4, 1, 1, 1, 1] [2022-02-20 23:49:40,253 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:49:40,447 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:40,447 INFO L402 AbstractCegarLoop]: === Iteration 12 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:40,448 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:40,448 INFO L85 PathProgramCache]: Analyzing trace with hash 634835432, now seen corresponding path program 2 times [2022-02-20 23:49:40,448 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:40,448 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [148582360] [2022-02-20 23:49:40,448 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:40,448 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:40,474 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:40,532 INFO L290 TraceCheckUtils]: 0: Hoare triple {3393#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3393#true} is VALID [2022-02-20 23:49:40,532 INFO L290 TraceCheckUtils]: 1: Hoare triple {3393#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {3395#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:40,533 INFO L290 TraceCheckUtils]: 2: Hoare triple {3395#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,533 INFO L290 TraceCheckUtils]: 3: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,534 INFO L290 TraceCheckUtils]: 4: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,534 INFO L290 TraceCheckUtils]: 5: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,534 INFO L290 TraceCheckUtils]: 6: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,535 INFO L290 TraceCheckUtils]: 7: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,535 INFO L290 TraceCheckUtils]: 8: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,535 INFO L290 TraceCheckUtils]: 9: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,536 INFO L290 TraceCheckUtils]: 10: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,536 INFO L290 TraceCheckUtils]: 11: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,537 INFO L290 TraceCheckUtils]: 12: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,537 INFO L290 TraceCheckUtils]: 13: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} is VALID [2022-02-20 23:49:40,537 INFO L290 TraceCheckUtils]: 14: Hoare triple {3396#(<= |ULTIMATE.start_foo_~size#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3397#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:40,538 INFO L290 TraceCheckUtils]: 15: Hoare triple {3397#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3397#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:40,538 INFO L290 TraceCheckUtils]: 16: Hoare triple {3397#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3397#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:40,539 INFO L290 TraceCheckUtils]: 17: Hoare triple {3397#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:40,539 INFO L290 TraceCheckUtils]: 18: Hoare triple {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:40,539 INFO L290 TraceCheckUtils]: 19: Hoare triple {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:40,540 INFO L290 TraceCheckUtils]: 20: Hoare triple {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:40,540 INFO L290 TraceCheckUtils]: 21: Hoare triple {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:40,541 INFO L290 TraceCheckUtils]: 22: Hoare triple {3398#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3399#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:40,541 INFO L290 TraceCheckUtils]: 23: Hoare triple {3399#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {3394#false} is VALID [2022-02-20 23:49:40,541 INFO L290 TraceCheckUtils]: 24: Hoare triple {3394#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {3394#false} is VALID [2022-02-20 23:49:40,541 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 8 proven. 21 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:49:40,542 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:40,542 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [148582360] [2022-02-20 23:49:40,543 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [148582360] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:40,543 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1225786873] [2022-02-20 23:49:40,543 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:49:40,543 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:40,543 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:40,545 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:49:40,546 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:49:40,595 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:49:40,596 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:49:40,596 INFO L263 TraceCheckSpWp]: Trace formula consists of 109 conjuncts, 7 conjunts are in the unsatisfiable core [2022-02-20 23:49:40,604 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:40,605 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:40,812 INFO L290 TraceCheckUtils]: 0: Hoare triple {3393#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3393#true} is VALID [2022-02-20 23:49:40,813 INFO L290 TraceCheckUtils]: 1: Hoare triple {3393#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {3406#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:40,813 INFO L290 TraceCheckUtils]: 2: Hoare triple {3406#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,814 INFO L290 TraceCheckUtils]: 3: Hoare triple {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,814 INFO L290 TraceCheckUtils]: 4: Hoare triple {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,815 INFO L290 TraceCheckUtils]: 5: Hoare triple {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,815 INFO L290 TraceCheckUtils]: 6: Hoare triple {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,816 INFO L290 TraceCheckUtils]: 7: Hoare triple {3410#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,818 INFO L290 TraceCheckUtils]: 10: Hoare triple {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,818 INFO L290 TraceCheckUtils]: 11: Hoare triple {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,819 INFO L290 TraceCheckUtils]: 12: Hoare triple {3426#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3442#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:40,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {3442#(and (<= |ULTIMATE.start_foo_~size#1| 1) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {3394#false} is VALID [2022-02-20 23:49:40,819 INFO L290 TraceCheckUtils]: 14: Hoare triple {3394#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3394#false} is VALID [2022-02-20 23:49:40,819 INFO L290 TraceCheckUtils]: 15: Hoare triple {3394#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3394#false} is VALID [2022-02-20 23:49:40,819 INFO L290 TraceCheckUtils]: 16: Hoare triple {3394#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3394#false} is VALID [2022-02-20 23:49:40,820 INFO L290 TraceCheckUtils]: 17: Hoare triple {3394#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3394#false} is VALID [2022-02-20 23:49:40,820 INFO L290 TraceCheckUtils]: 18: Hoare triple {3394#false} assume !!(foo_~i~0#1 <= foo_~size#1); {3394#false} is VALID [2022-02-20 23:49:40,820 INFO L290 TraceCheckUtils]: 19: Hoare triple {3394#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3394#false} is VALID [2022-02-20 23:49:40,820 INFO L290 TraceCheckUtils]: 20: Hoare triple {3394#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3394#false} is VALID [2022-02-20 23:49:40,820 INFO L290 TraceCheckUtils]: 21: Hoare triple {3394#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3394#false} is VALID [2022-02-20 23:49:40,820 INFO L290 TraceCheckUtils]: 22: Hoare triple {3394#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3394#false} is VALID [2022-02-20 23:49:40,820 INFO L290 TraceCheckUtils]: 23: Hoare triple {3394#false} assume !!(foo_~i~0#1 <= foo_~size#1); {3394#false} is VALID [2022-02-20 23:49:40,821 INFO L290 TraceCheckUtils]: 24: Hoare triple {3394#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {3394#false} is VALID [2022-02-20 23:49:40,821 INFO L134 CoverageAnalysis]: Checked inductivity of 38 backedges. 31 proven. 0 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:40,821 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:49:40,821 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1225786873] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:40,821 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:49:40,821 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [7] total 11 [2022-02-20 23:49:40,821 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1759738844] [2022-02-20 23:49:40,821 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:40,822 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 23:49:40,822 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:40,822 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:40,840 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 20 edges. 20 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:40,840 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:49:40,841 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:40,841 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:49:40,841 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=35, Invalid=75, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:49:40,841 INFO L87 Difference]: Start difference. First operand 73 states and 83 transitions. Second operand has 6 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:41,008 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:41,008 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2022-02-20 23:49:41,008 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:49:41,008 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 25 [2022-02-20 23:49:41,008 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:41,008 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:41,009 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 74 transitions. [2022-02-20 23:49:41,009 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:41,010 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 74 transitions. [2022-02-20 23:49:41,010 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 74 transitions. [2022-02-20 23:49:41,070 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:41,071 INFO L225 Difference]: With dead ends: 86 [2022-02-20 23:49:41,071 INFO L226 Difference]: Without dead ends: 86 [2022-02-20 23:49:41,072 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 34 GetRequests, 22 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 10 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=62, Invalid=120, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:49:41,072 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 68 mSDsluCounter, 29 mSDsCounter, 0 mSdLazyCounter, 62 mSolverCounterSat, 8 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 68 SdHoareTripleChecker+Valid, 44 SdHoareTripleChecker+Invalid, 70 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 8 IncrementalHoareTripleChecker+Valid, 62 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:41,072 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [68 Valid, 44 Invalid, 70 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [8 Valid, 62 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:49:41,073 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 86 states. [2022-02-20 23:49:41,074 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 86 to 61. [2022-02-20 23:49:41,074 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:41,075 INFO L82 GeneralOperation]: Start isEquivalent. First operand 86 states. Second operand has 61 states, 56 states have (on average 1.1785714285714286) internal successors, (66), 60 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:41,075 INFO L74 IsIncluded]: Start isIncluded. First operand 86 states. Second operand has 61 states, 56 states have (on average 1.1785714285714286) internal successors, (66), 60 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:41,075 INFO L87 Difference]: Start difference. First operand 86 states. Second operand has 61 states, 56 states have (on average 1.1785714285714286) internal successors, (66), 60 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:41,076 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:41,076 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2022-02-20 23:49:41,076 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 93 transitions. [2022-02-20 23:49:41,076 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:41,076 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:41,077 INFO L74 IsIncluded]: Start isIncluded. First operand has 61 states, 56 states have (on average 1.1785714285714286) internal successors, (66), 60 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 86 states. [2022-02-20 23:49:41,080 INFO L87 Difference]: Start difference. First operand has 61 states, 56 states have (on average 1.1785714285714286) internal successors, (66), 60 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 86 states. [2022-02-20 23:49:41,081 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:41,082 INFO L93 Difference]: Finished difference Result 86 states and 93 transitions. [2022-02-20 23:49:41,082 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 93 transitions. [2022-02-20 23:49:41,082 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:41,082 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:41,082 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:41,082 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:41,083 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 61 states, 56 states have (on average 1.1785714285714286) internal successors, (66), 60 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:41,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 61 states to 61 states and 66 transitions. [2022-02-20 23:49:41,084 INFO L78 Accepts]: Start accepts. Automaton has 61 states and 66 transitions. Word has length 25 [2022-02-20 23:49:41,084 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:41,084 INFO L470 AbstractCegarLoop]: Abstraction has 61 states and 66 transitions. [2022-02-20 23:49:41,084 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.3333333333333335) internal successors, (20), 6 states have internal predecessors, (20), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:41,084 INFO L276 IsEmpty]: Start isEmpty. Operand 61 states and 66 transitions. [2022-02-20 23:49:41,085 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 27 [2022-02-20 23:49:41,085 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:41,085 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] [2022-02-20 23:49:41,111 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:49:41,285 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,SelfDestructingSolverStorable11 [2022-02-20 23:49:41,286 INFO L402 AbstractCegarLoop]: === Iteration 13 === Targeting ULTIMATE.startErr7ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:41,286 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:41,286 INFO L85 PathProgramCache]: Analyzing trace with hash -1809865305, now seen corresponding path program 1 times [2022-02-20 23:49:41,286 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:41,286 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [529820518] [2022-02-20 23:49:41,286 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:41,286 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:41,306 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:41,350 INFO L290 TraceCheckUtils]: 0: Hoare triple {3803#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3803#true} is VALID [2022-02-20 23:49:41,351 INFO L290 TraceCheckUtils]: 1: Hoare triple {3803#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:41,352 INFO L290 TraceCheckUtils]: 2: Hoare triple {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,352 INFO L290 TraceCheckUtils]: 3: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,353 INFO L290 TraceCheckUtils]: 4: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,354 INFO L290 TraceCheckUtils]: 5: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,354 INFO L290 TraceCheckUtils]: 6: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,355 INFO L290 TraceCheckUtils]: 7: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,355 INFO L290 TraceCheckUtils]: 8: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,356 INFO L290 TraceCheckUtils]: 9: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,356 INFO L290 TraceCheckUtils]: 10: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,357 INFO L290 TraceCheckUtils]: 11: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,357 INFO L290 TraceCheckUtils]: 12: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:41,358 INFO L290 TraceCheckUtils]: 13: Hoare triple {3806#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:41,358 INFO L290 TraceCheckUtils]: 14: Hoare triple {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:41,358 INFO L290 TraceCheckUtils]: 15: Hoare triple {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:41,359 INFO L290 TraceCheckUtils]: 16: Hoare triple {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:41,359 INFO L290 TraceCheckUtils]: 17: Hoare triple {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:41,360 INFO L290 TraceCheckUtils]: 18: Hoare triple {3805#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {3807#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (not (<= (+ (div |ULTIMATE.start_main_~i~1#1| 4294967296) 1) 0)))} is VALID [2022-02-20 23:49:41,360 INFO L290 TraceCheckUtils]: 19: Hoare triple {3807#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (not (<= (+ (div |ULTIMATE.start_main_~i~1#1| 4294967296) 1) 0)))} assume !(main_~i~1#1 % 4294967296 < 32); {3804#false} is VALID [2022-02-20 23:49:41,361 INFO L290 TraceCheckUtils]: 20: Hoare triple {3804#false} main_~i~1#1 := 0; {3804#false} is VALID [2022-02-20 23:49:41,361 INFO L290 TraceCheckUtils]: 21: Hoare triple {3804#false} assume !!(main_~i~1#1 % 4294967296 < 32); {3804#false} is VALID [2022-02-20 23:49:41,361 INFO L290 TraceCheckUtils]: 22: Hoare triple {3804#false} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {3804#false} is VALID [2022-02-20 23:49:41,361 INFO L290 TraceCheckUtils]: 23: Hoare triple {3804#false} assume main_#t~mem5#1 != 1 + main_~i~1#1;havoc main_#t~mem5#1; {3804#false} is VALID [2022-02-20 23:49:41,361 INFO L290 TraceCheckUtils]: 24: Hoare triple {3804#false} main_#res#1 := 1;call ULTIMATE.dealloc(main_~#b~0#1.base, main_~#b~0#1.offset);havoc main_~#b~0#1.base, main_~#b~0#1.offset;call ULTIMATE.dealloc(main_~#mask~0#1.base, main_~#mask~0#1.offset);havoc main_~#mask~0#1.base, main_~#mask~0#1.offset; {3804#false} is VALID [2022-02-20 23:49:41,362 INFO L290 TraceCheckUtils]: 25: Hoare triple {3804#false} assume !(#valid == main_old_#valid#1); {3804#false} is VALID [2022-02-20 23:49:41,362 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:41,362 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:41,362 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [529820518] [2022-02-20 23:49:41,362 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [529820518] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:41,363 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [148554728] [2022-02-20 23:49:41,363 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:41,363 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:41,363 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:41,364 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:49:41,391 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:49:41,432 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:41,433 INFO L263 TraceCheckSpWp]: Trace formula consists of 116 conjuncts, 12 conjunts are in the unsatisfiable core [2022-02-20 23:49:41,449 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:41,451 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:42,157 INFO L290 TraceCheckUtils]: 0: Hoare triple {3803#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {3803#true} is VALID [2022-02-20 23:49:42,158 INFO L290 TraceCheckUtils]: 1: Hoare triple {3803#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,159 INFO L290 TraceCheckUtils]: 2: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,163 INFO L290 TraceCheckUtils]: 3: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,165 INFO L290 TraceCheckUtils]: 4: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,166 INFO L290 TraceCheckUtils]: 5: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,167 INFO L290 TraceCheckUtils]: 6: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,170 INFO L290 TraceCheckUtils]: 7: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,171 INFO L290 TraceCheckUtils]: 8: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,172 INFO L290 TraceCheckUtils]: 9: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,173 INFO L290 TraceCheckUtils]: 10: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,174 INFO L290 TraceCheckUtils]: 11: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,175 INFO L290 TraceCheckUtils]: 12: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,176 INFO L290 TraceCheckUtils]: 13: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume !(foo_~i~0#1 <= foo_~size#1); {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,177 INFO L290 TraceCheckUtils]: 14: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} foo_#res#1 := foo_~i~0#1; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,178 INFO L290 TraceCheckUtils]: 15: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,179 INFO L290 TraceCheckUtils]: 16: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,180 INFO L290 TraceCheckUtils]: 17: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} havoc main_#t~ret3#1; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,181 INFO L290 TraceCheckUtils]: 18: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,182 INFO L290 TraceCheckUtils]: 19: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume !(main_~i~1#1 % 4294967296 < 32); {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,183 INFO L290 TraceCheckUtils]: 20: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} main_~i~1#1 := 0; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,184 INFO L290 TraceCheckUtils]: 21: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,185 INFO L290 TraceCheckUtils]: 22: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,186 INFO L290 TraceCheckUtils]: 23: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} assume main_#t~mem5#1 != 1 + main_~i~1#1;havoc main_#t~mem5#1; {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} is VALID [2022-02-20 23:49:42,187 INFO L290 TraceCheckUtils]: 24: Hoare triple {3814#(and (= (select |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base|) 0) (exists ((v_ArrVal_136 Int)) (= (select (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_136) |ULTIMATE.start_main_~#mask~0#1.base|) 0)) (exists ((v_ArrVal_137 Int) (v_ArrVal_138 Int)) (= (store (store |ULTIMATE.start_main_old_#valid#1| |ULTIMATE.start_main_~#b~0#1.base| v_ArrVal_138) |ULTIMATE.start_main_~#mask~0#1.base| v_ArrVal_137) |#valid|)))} main_#res#1 := 1;call ULTIMATE.dealloc(main_~#b~0#1.base, main_~#b~0#1.offset);havoc main_~#b~0#1.base, main_~#b~0#1.offset;call ULTIMATE.dealloc(main_~#mask~0#1.base, main_~#mask~0#1.offset);havoc main_~#mask~0#1.base, main_~#mask~0#1.offset; {3884#(exists ((v_ArrVal_137 Int) (v_ArrVal_136 Int) (|v_ULTIMATE.start_main_~#b~0#1.base_16| Int) (|v_ULTIMATE.start_main_~#mask~0#1.base_11| Int) (v_ArrVal_138 Int)) (and (= (store (store (store (store |ULTIMATE.start_main_old_#valid#1| |v_ULTIMATE.start_main_~#b~0#1.base_16| v_ArrVal_138) |v_ULTIMATE.start_main_~#mask~0#1.base_11| v_ArrVal_137) |v_ULTIMATE.start_main_~#b~0#1.base_16| 0) |v_ULTIMATE.start_main_~#mask~0#1.base_11| 0) |#valid|) (= (select |ULTIMATE.start_main_old_#valid#1| |v_ULTIMATE.start_main_~#b~0#1.base_16|) 0) (= (select (store |ULTIMATE.start_main_old_#valid#1| |v_ULTIMATE.start_main_~#b~0#1.base_16| v_ArrVal_136) |v_ULTIMATE.start_main_~#mask~0#1.base_11|) 0)))} is VALID [2022-02-20 23:49:42,188 INFO L290 TraceCheckUtils]: 25: Hoare triple {3884#(exists ((v_ArrVal_137 Int) (v_ArrVal_136 Int) (|v_ULTIMATE.start_main_~#b~0#1.base_16| Int) (|v_ULTIMATE.start_main_~#mask~0#1.base_11| Int) (v_ArrVal_138 Int)) (and (= (store (store (store (store |ULTIMATE.start_main_old_#valid#1| |v_ULTIMATE.start_main_~#b~0#1.base_16| v_ArrVal_138) |v_ULTIMATE.start_main_~#mask~0#1.base_11| v_ArrVal_137) |v_ULTIMATE.start_main_~#b~0#1.base_16| 0) |v_ULTIMATE.start_main_~#mask~0#1.base_11| 0) |#valid|) (= (select |ULTIMATE.start_main_old_#valid#1| |v_ULTIMATE.start_main_~#b~0#1.base_16|) 0) (= (select (store |ULTIMATE.start_main_old_#valid#1| |v_ULTIMATE.start_main_~#b~0#1.base_16| v_ArrVal_136) |v_ULTIMATE.start_main_~#mask~0#1.base_11|) 0)))} assume !(#valid == main_old_#valid#1); {3804#false} is VALID [2022-02-20 23:49:42,188 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:49:42,188 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:49:42,189 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [148554728] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:42,189 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:49:42,189 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [5] total 7 [2022-02-20 23:49:42,189 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [103126082] [2022-02-20 23:49:42,189 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:42,190 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 26 [2022-02-20 23:49:42,190 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:42,190 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,218 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 21 edges. 21 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:42,218 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-02-20 23:49:42,218 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:42,218 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-02-20 23:49:42,218 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:49:42,219 INFO L87 Difference]: Start difference. First operand 61 states and 66 transitions. Second operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:42,263 INFO L93 Difference]: Finished difference Result 62 states and 66 transitions. [2022-02-20 23:49:42,263 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-02-20 23:49:42,264 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 26 [2022-02-20 23:49:42,264 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:42,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,264 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 30 transitions. [2022-02-20 23:49:42,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 30 transitions. [2022-02-20 23:49:42,265 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 4 states and 30 transitions. [2022-02-20 23:49:42,303 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:49:42,304 INFO L225 Difference]: With dead ends: 62 [2022-02-20 23:49:42,304 INFO L226 Difference]: Without dead ends: 60 [2022-02-20 23:49:42,304 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 31 GetRequests, 26 SyntacticMatches, 0 SemanticMatches, 5 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=14, Invalid=28, Unknown=0, NotChecked=0, Total=42 [2022-02-20 23:49:42,305 INFO L933 BasicCegarLoop]: 21 mSDtfsCounter, 5 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 0 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 5 SdHoareTripleChecker+Valid, 39 SdHoareTripleChecker+Invalid, 13 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 0 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 13 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:42,305 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [5 Valid, 39 Invalid, 13 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 0 Invalid, 0 Unknown, 13 Unchecked, 0.0s Time] [2022-02-20 23:49:42,306 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 60 states. [2022-02-20 23:49:42,307 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 60 to 60. [2022-02-20 23:49:42,307 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:42,307 INFO L82 GeneralOperation]: Start isEquivalent. First operand 60 states. Second operand has 60 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 59 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,307 INFO L74 IsIncluded]: Start isIncluded. First operand 60 states. Second operand has 60 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 59 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,307 INFO L87 Difference]: Start difference. First operand 60 states. Second operand has 60 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 59 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,308 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:42,309 INFO L93 Difference]: Finished difference Result 60 states and 64 transitions. [2022-02-20 23:49:42,310 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 64 transitions. [2022-02-20 23:49:42,310 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:42,310 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:42,310 INFO L74 IsIncluded]: Start isIncluded. First operand has 60 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 59 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:49:42,310 INFO L87 Difference]: Start difference. First operand has 60 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 59 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 60 states. [2022-02-20 23:49:42,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:42,311 INFO L93 Difference]: Finished difference Result 60 states and 64 transitions. [2022-02-20 23:49:42,311 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 64 transitions. [2022-02-20 23:49:42,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:42,312 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:42,312 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:42,312 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:42,312 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 60 states, 55 states have (on average 1.1636363636363636) internal successors, (64), 59 states have internal predecessors, (64), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,313 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 60 states to 60 states and 64 transitions. [2022-02-20 23:49:42,313 INFO L78 Accepts]: Start accepts. Automaton has 60 states and 64 transitions. Word has length 26 [2022-02-20 23:49:42,313 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:42,313 INFO L470 AbstractCegarLoop]: Abstraction has 60 states and 64 transitions. [2022-02-20 23:49:42,316 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 3 states have (on average 7.0) internal successors, (21), 4 states have internal predecessors, (21), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:42,316 INFO L276 IsEmpty]: Start isEmpty. Operand 60 states and 64 transitions. [2022-02-20 23:49:42,317 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 28 [2022-02-20 23:49:42,317 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:42,317 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] [2022-02-20 23:49:42,344 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:49:42,531 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:42,531 INFO L402 AbstractCegarLoop]: === Iteration 14 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:42,532 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:42,532 INFO L85 PathProgramCache]: Analyzing trace with hash -271127104, now seen corresponding path program 1 times [2022-02-20 23:49:42,532 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:42,532 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [447200953] [2022-02-20 23:49:42,532 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:42,532 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:42,558 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:42,602 INFO L290 TraceCheckUtils]: 0: Hoare triple {4129#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4129#true} is VALID [2022-02-20 23:49:42,603 INFO L290 TraceCheckUtils]: 1: Hoare triple {4129#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:42,604 INFO L290 TraceCheckUtils]: 2: Hoare triple {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,604 INFO L290 TraceCheckUtils]: 3: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,605 INFO L290 TraceCheckUtils]: 4: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,605 INFO L290 TraceCheckUtils]: 5: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,606 INFO L290 TraceCheckUtils]: 6: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,606 INFO L290 TraceCheckUtils]: 7: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,607 INFO L290 TraceCheckUtils]: 8: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,607 INFO L290 TraceCheckUtils]: 9: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,608 INFO L290 TraceCheckUtils]: 10: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,608 INFO L290 TraceCheckUtils]: 11: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,609 INFO L290 TraceCheckUtils]: 12: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:42,609 INFO L290 TraceCheckUtils]: 13: Hoare triple {4132#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:42,609 INFO L290 TraceCheckUtils]: 14: Hoare triple {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:42,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:42,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:42,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:42,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {4133#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (not (<= (+ (div |ULTIMATE.start_main_~i~1#1| 4294967296) 1) 0)))} is VALID [2022-02-20 23:49:42,612 INFO L290 TraceCheckUtils]: 19: Hoare triple {4133#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (not (<= (+ (div |ULTIMATE.start_main_~i~1#1| 4294967296) 1) 0)))} assume !(main_~i~1#1 % 4294967296 < 32); {4130#false} is VALID [2022-02-20 23:49:42,612 INFO L290 TraceCheckUtils]: 20: Hoare triple {4130#false} main_~i~1#1 := 0; {4130#false} is VALID [2022-02-20 23:49:42,612 INFO L290 TraceCheckUtils]: 21: Hoare triple {4130#false} assume !!(main_~i~1#1 % 4294967296 < 32); {4130#false} is VALID [2022-02-20 23:49:42,612 INFO L290 TraceCheckUtils]: 22: Hoare triple {4130#false} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {4130#false} is VALID [2022-02-20 23:49:42,612 INFO L290 TraceCheckUtils]: 23: Hoare triple {4130#false} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {4130#false} is VALID [2022-02-20 23:49:42,612 INFO L290 TraceCheckUtils]: 24: Hoare triple {4130#false} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4130#false} is VALID [2022-02-20 23:49:42,613 INFO L290 TraceCheckUtils]: 25: Hoare triple {4130#false} assume !!(main_~i~1#1 % 4294967296 < 32); {4130#false} is VALID [2022-02-20 23:49:42,613 INFO L290 TraceCheckUtils]: 26: Hoare triple {4130#false} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {4130#false} is VALID [2022-02-20 23:49:42,613 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:49:42,613 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:42,613 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [447200953] [2022-02-20 23:49:42,614 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [447200953] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:42,614 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1208049582] [2022-02-20 23:49:42,614 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:42,614 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:42,614 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:42,616 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:49:42,641 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:49:42,676 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:42,677 INFO L263 TraceCheckSpWp]: Trace formula consists of 113 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:49:42,686 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:42,687 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:43,016 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 7 [2022-02-20 23:49:43,117 INFO L173 IndexEqualityManager]: detected equality via solver [2022-02-20 23:49:43,120 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-02-20 23:49:43,120 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 17 treesize of output 10 [2022-02-20 23:49:43,171 INFO L290 TraceCheckUtils]: 0: Hoare triple {4129#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4129#true} is VALID [2022-02-20 23:49:43,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {4129#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {4140#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:43,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {4140#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,173 INFO L290 TraceCheckUtils]: 3: Hoare triple {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,174 INFO L290 TraceCheckUtils]: 4: Hoare triple {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,174 INFO L290 TraceCheckUtils]: 5: Hoare triple {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,175 INFO L290 TraceCheckUtils]: 6: Hoare triple {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,176 INFO L290 TraceCheckUtils]: 7: Hoare triple {4144#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,176 INFO L290 TraceCheckUtils]: 8: Hoare triple {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,177 INFO L290 TraceCheckUtils]: 9: Hoare triple {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,177 INFO L290 TraceCheckUtils]: 10: Hoare triple {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,179 INFO L290 TraceCheckUtils]: 11: Hoare triple {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,179 INFO L290 TraceCheckUtils]: 12: Hoare triple {4160#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4176#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,180 INFO L290 TraceCheckUtils]: 13: Hoare triple {4176#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {4176#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:43,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {4176#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_#res#1 := foo_~i~0#1; {4183#(and (<= 2 |ULTIMATE.start_foo_#res#1|) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:43,187 INFO L290 TraceCheckUtils]: 15: Hoare triple {4183#(and (<= 2 |ULTIMATE.start_foo_#res#1|) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4187#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_main_#t~ret3#1|))} is VALID [2022-02-20 23:49:43,188 INFO L290 TraceCheckUtils]: 16: Hoare triple {4187#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_main_#t~ret3#1|))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {4191#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:43,189 INFO L290 TraceCheckUtils]: 17: Hoare triple {4191#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} havoc main_#t~ret3#1; {4191#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:43,189 INFO L290 TraceCheckUtils]: 18: Hoare triple {4191#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {4191#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:43,190 INFO L290 TraceCheckUtils]: 19: Hoare triple {4191#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !(main_~i~1#1 % 4294967296 < 32); {4191#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:43,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {4191#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} main_~i~1#1 := 0; {4204#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:43,190 INFO L290 TraceCheckUtils]: 21: Hoare triple {4204#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {4204#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:43,192 INFO L290 TraceCheckUtils]: 22: Hoare triple {4204#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {4211#(and (<= 2 |ULTIMATE.start_main_#t~mem5#1|) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:43,192 INFO L290 TraceCheckUtils]: 23: Hoare triple {4211#(and (<= 2 |ULTIMATE.start_main_#t~mem5#1|) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {4130#false} is VALID [2022-02-20 23:49:43,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {4130#false} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4130#false} is VALID [2022-02-20 23:49:43,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {4130#false} assume !!(main_~i~1#1 % 4294967296 < 32); {4130#false} is VALID [2022-02-20 23:49:43,192 INFO L290 TraceCheckUtils]: 26: Hoare triple {4130#false} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {4130#false} is VALID [2022-02-20 23:49:43,193 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:49:43,193 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:43,331 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 14 treesize of output 12 [2022-02-20 23:49:43,344 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 26 treesize of output 24 [2022-02-20 23:49:43,729 INFO L290 TraceCheckUtils]: 26: Hoare triple {4130#false} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {4130#false} is VALID [2022-02-20 23:49:43,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {4130#false} assume !!(main_~i~1#1 % 4294967296 < 32); {4130#false} is VALID [2022-02-20 23:49:43,730 INFO L290 TraceCheckUtils]: 24: Hoare triple {4130#false} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {4130#false} is VALID [2022-02-20 23:49:43,730 INFO L290 TraceCheckUtils]: 23: Hoare triple {4233#(not (<= |ULTIMATE.start_main_#t~mem5#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {4130#false} is VALID [2022-02-20 23:49:43,731 INFO L290 TraceCheckUtils]: 22: Hoare triple {4237#(< (+ |ULTIMATE.start_main_~i~1#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {4233#(not (<= |ULTIMATE.start_main_#t~mem5#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:43,731 INFO L290 TraceCheckUtils]: 21: Hoare triple {4237#(< (+ |ULTIMATE.start_main_~i~1#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} assume !!(main_~i~1#1 % 4294967296 < 32); {4237#(< (+ |ULTIMATE.start_main_~i~1#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} is VALID [2022-02-20 23:49:43,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {4244#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} main_~i~1#1 := 0; {4237#(< (+ |ULTIMATE.start_main_~i~1#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} is VALID [2022-02-20 23:49:43,732 INFO L290 TraceCheckUtils]: 19: Hoare triple {4244#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(main_~i~1#1 % 4294967296 < 32); {4244#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:43,733 INFO L290 TraceCheckUtils]: 18: Hoare triple {4244#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {4244#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:43,733 INFO L290 TraceCheckUtils]: 17: Hoare triple {4244#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} havoc main_#t~ret3#1; {4244#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:43,735 INFO L290 TraceCheckUtils]: 16: Hoare triple {4257#(and (< 1 |ULTIMATE.start_main_#t~ret3#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {4244#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:43,735 INFO L290 TraceCheckUtils]: 15: Hoare triple {4261#(and (< 1 |ULTIMATE.start_foo_#res#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4257#(and (< 1 |ULTIMATE.start_main_#t~ret3#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {4265#(and (< 1 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_#res#1 := foo_~i~0#1; {4261#(and (< 1 |ULTIMATE.start_foo_#res#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,736 INFO L290 TraceCheckUtils]: 13: Hoare triple {4265#(and (< 1 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume !(foo_~i~0#1 <= foo_~size#1); {4265#(and (< 1 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4265#(and (< 1 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,737 INFO L290 TraceCheckUtils]: 11: Hoare triple {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,738 INFO L290 TraceCheckUtils]: 10: Hoare triple {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,738 INFO L290 TraceCheckUtils]: 9: Hoare triple {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,739 INFO L290 TraceCheckUtils]: 7: Hoare triple {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4272#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,740 INFO L290 TraceCheckUtils]: 6: Hoare triple {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,740 INFO L290 TraceCheckUtils]: 5: Hoare triple {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,741 INFO L290 TraceCheckUtils]: 4: Hoare triple {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,741 INFO L290 TraceCheckUtils]: 3: Hoare triple {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4288#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:43,742 INFO L290 TraceCheckUtils]: 1: Hoare triple {4129#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {4131#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:43,742 INFO L290 TraceCheckUtils]: 0: Hoare triple {4129#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4129#true} is VALID [2022-02-20 23:49:43,743 INFO L134 CoverageAnalysis]: Checked inductivity of 10 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-02-20 23:49:43,743 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1208049582] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:43,743 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:43,743 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 11, 11] total 22 [2022-02-20 23:49:43,743 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [954350289] [2022-02-20 23:49:43,744 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:43,744 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 3.0) internal successors, (66), 22 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 27 [2022-02-20 23:49:43,744 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:43,745 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 22 states, 22 states have (on average 3.0) internal successors, (66), 22 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:43,796 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:49:43,796 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 22 states [2022-02-20 23:49:43,796 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:43,797 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 22 interpolants. [2022-02-20 23:49:43,797 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=95, Invalid=367, Unknown=0, NotChecked=0, Total=462 [2022-02-20 23:49:43,797 INFO L87 Difference]: Start difference. First operand 60 states and 64 transitions. Second operand has 22 states, 22 states have (on average 3.0) internal successors, (66), 22 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:44,422 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:44,422 INFO L93 Difference]: Finished difference Result 101 states and 108 transitions. [2022-02-20 23:49:44,422 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:49:44,423 INFO L78 Accepts]: Start accepts. Automaton has has 22 states, 22 states have (on average 3.0) internal successors, (66), 22 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 27 [2022-02-20 23:49:44,423 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:44,423 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 3.0) internal successors, (66), 22 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:44,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2022-02-20 23:49:44,424 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 22 states, 22 states have (on average 3.0) internal successors, (66), 22 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:44,424 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 70 transitions. [2022-02-20 23:49:44,424 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 70 transitions. [2022-02-20 23:49:44,478 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:49:44,479 INFO L225 Difference]: With dead ends: 101 [2022-02-20 23:49:44,479 INFO L226 Difference]: Without dead ends: 101 [2022-02-20 23:49:44,480 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 66 GetRequests, 37 SyntacticMatches, 1 SemanticMatches, 28 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 182 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=221, Invalid=649, Unknown=0, NotChecked=0, Total=870 [2022-02-20 23:49:44,481 INFO L933 BasicCegarLoop]: 17 mSDtfsCounter, 82 mSDsluCounter, 91 mSDsCounter, 0 mSdLazyCounter, 261 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 82 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 270 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 261 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:44,481 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [82 Valid, 108 Invalid, 270 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 261 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:49:44,481 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 101 states. [2022-02-20 23:49:44,491 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 101 to 66. [2022-02-20 23:49:44,492 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:44,492 INFO L82 GeneralOperation]: Start isEquivalent. First operand 101 states. Second operand has 66 states, 61 states have (on average 1.1475409836065573) internal successors, (70), 65 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:44,492 INFO L74 IsIncluded]: Start isIncluded. First operand 101 states. Second operand has 66 states, 61 states have (on average 1.1475409836065573) internal successors, (70), 65 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:44,492 INFO L87 Difference]: Start difference. First operand 101 states. Second operand has 66 states, 61 states have (on average 1.1475409836065573) internal successors, (70), 65 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:44,494 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:44,494 INFO L93 Difference]: Finished difference Result 101 states and 108 transitions. [2022-02-20 23:49:44,494 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 108 transitions. [2022-02-20 23:49:44,494 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:44,494 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:44,494 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 61 states have (on average 1.1475409836065573) internal successors, (70), 65 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 101 states. [2022-02-20 23:49:44,495 INFO L87 Difference]: Start difference. First operand has 66 states, 61 states have (on average 1.1475409836065573) internal successors, (70), 65 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 101 states. [2022-02-20 23:49:44,496 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:44,496 INFO L93 Difference]: Finished difference Result 101 states and 108 transitions. [2022-02-20 23:49:44,496 INFO L276 IsEmpty]: Start isEmpty. Operand 101 states and 108 transitions. [2022-02-20 23:49:44,496 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:44,497 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:44,497 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:44,497 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:44,497 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 61 states have (on average 1.1475409836065573) internal successors, (70), 65 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:44,498 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 70 transitions. [2022-02-20 23:49:44,498 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 70 transitions. Word has length 27 [2022-02-20 23:49:44,498 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:44,498 INFO L470 AbstractCegarLoop]: Abstraction has 66 states and 70 transitions. [2022-02-20 23:49:44,498 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 22 states, 22 states have (on average 3.0) internal successors, (66), 22 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:44,498 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 70 transitions. [2022-02-20 23:49:44,499 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 35 [2022-02-20 23:49:44,499 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:44,499 INFO L514 BasicCegarLoop]: trace histogram [4, 4, 4, 4, 4, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:44,523 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:49:44,715 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable13,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:44,715 INFO L402 AbstractCegarLoop]: === Iteration 15 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:44,716 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:44,716 INFO L85 PathProgramCache]: Analyzing trace with hash 164722723, now seen corresponding path program 1 times [2022-02-20 23:49:44,716 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:44,716 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [847735172] [2022-02-20 23:49:44,716 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:44,716 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:44,740 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:44,813 INFO L290 TraceCheckUtils]: 0: Hoare triple {4694#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4694#true} is VALID [2022-02-20 23:49:44,814 INFO L290 TraceCheckUtils]: 1: Hoare triple {4694#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:44,814 INFO L290 TraceCheckUtils]: 2: Hoare triple {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,815 INFO L290 TraceCheckUtils]: 3: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,815 INFO L290 TraceCheckUtils]: 4: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,816 INFO L290 TraceCheckUtils]: 5: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,816 INFO L290 TraceCheckUtils]: 6: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,817 INFO L290 TraceCheckUtils]: 7: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,817 INFO L290 TraceCheckUtils]: 8: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,817 INFO L290 TraceCheckUtils]: 9: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,818 INFO L290 TraceCheckUtils]: 10: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,819 INFO L290 TraceCheckUtils]: 11: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,819 INFO L290 TraceCheckUtils]: 12: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:44,819 INFO L290 TraceCheckUtils]: 13: Hoare triple {4697#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:44,820 INFO L290 TraceCheckUtils]: 14: Hoare triple {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:44,820 INFO L290 TraceCheckUtils]: 15: Hoare triple {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:44,820 INFO L290 TraceCheckUtils]: 16: Hoare triple {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:44,821 INFO L290 TraceCheckUtils]: 17: Hoare triple {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:44,821 INFO L290 TraceCheckUtils]: 18: Hoare triple {4696#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {4698#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:44,822 INFO L290 TraceCheckUtils]: 19: Hoare triple {4698#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,822 INFO L290 TraceCheckUtils]: 20: Hoare triple {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,823 INFO L290 TraceCheckUtils]: 21: Hoare triple {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,823 INFO L290 TraceCheckUtils]: 22: Hoare triple {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,824 INFO L290 TraceCheckUtils]: 23: Hoare triple {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,824 INFO L290 TraceCheckUtils]: 24: Hoare triple {4699#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,825 INFO L290 TraceCheckUtils]: 25: Hoare triple {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,825 INFO L290 TraceCheckUtils]: 26: Hoare triple {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,826 INFO L290 TraceCheckUtils]: 27: Hoare triple {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,826 INFO L290 TraceCheckUtils]: 28: Hoare triple {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,827 INFO L290 TraceCheckUtils]: 29: Hoare triple {4700#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4701#(and (<= |ULTIMATE.start_foo_~i~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:49:44,828 INFO L290 TraceCheckUtils]: 30: Hoare triple {4701#(and (<= |ULTIMATE.start_foo_~i~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !(foo_~i~0#1 <= foo_~size#1); {4695#false} is VALID [2022-02-20 23:49:44,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {4695#false} foo_#res#1 := foo_~i~0#1; {4695#false} is VALID [2022-02-20 23:49:44,828 INFO L290 TraceCheckUtils]: 32: Hoare triple {4695#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4695#false} is VALID [2022-02-20 23:49:44,828 INFO L290 TraceCheckUtils]: 33: Hoare triple {4695#false} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {4695#false} is VALID [2022-02-20 23:49:44,828 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 3 proven. 33 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:44,829 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:44,829 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [847735172] [2022-02-20 23:49:44,829 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [847735172] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:44,829 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [36019533] [2022-02-20 23:49:44,829 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:44,829 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:44,829 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:44,830 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:49:44,837 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:49:44,904 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:44,905 INFO L263 TraceCheckSpWp]: Trace formula consists of 148 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:49:44,914 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:44,915 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:45,195 INFO L290 TraceCheckUtils]: 0: Hoare triple {4694#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4694#true} is VALID [2022-02-20 23:49:45,196 INFO L290 TraceCheckUtils]: 1: Hoare triple {4694#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,196 INFO L290 TraceCheckUtils]: 2: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,197 INFO L290 TraceCheckUtils]: 3: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,198 INFO L290 TraceCheckUtils]: 4: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,198 INFO L290 TraceCheckUtils]: 5: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,198 INFO L290 TraceCheckUtils]: 6: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,199 INFO L290 TraceCheckUtils]: 7: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,199 INFO L290 TraceCheckUtils]: 8: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,200 INFO L290 TraceCheckUtils]: 9: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,200 INFO L290 TraceCheckUtils]: 10: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,200 INFO L290 TraceCheckUtils]: 11: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,201 INFO L290 TraceCheckUtils]: 12: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,201 INFO L290 TraceCheckUtils]: 13: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,202 INFO L290 TraceCheckUtils]: 14: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,202 INFO L290 TraceCheckUtils]: 15: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,202 INFO L290 TraceCheckUtils]: 16: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,203 INFO L290 TraceCheckUtils]: 17: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,214 INFO L290 TraceCheckUtils]: 18: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {4698#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,215 INFO L290 TraceCheckUtils]: 19: Hoare triple {4698#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,216 INFO L290 TraceCheckUtils]: 21: Hoare triple {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,216 INFO L290 TraceCheckUtils]: 22: Hoare triple {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,217 INFO L290 TraceCheckUtils]: 23: Hoare triple {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,217 INFO L290 TraceCheckUtils]: 24: Hoare triple {4763#(and (<= |ULTIMATE.start_foo_~i~0#1| 0) (<= 2 |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,218 INFO L290 TraceCheckUtils]: 25: Hoare triple {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,218 INFO L290 TraceCheckUtils]: 26: Hoare triple {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,218 INFO L290 TraceCheckUtils]: 27: Hoare triple {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,219 INFO L290 TraceCheckUtils]: 28: Hoare triple {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:45,219 INFO L290 TraceCheckUtils]: 29: Hoare triple {4779#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 2 |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4795#(and (<= 2 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:45,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {4795#(and (<= 2 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} assume !(foo_~i~0#1 <= foo_~size#1); {4695#false} is VALID [2022-02-20 23:49:45,220 INFO L290 TraceCheckUtils]: 31: Hoare triple {4695#false} foo_#res#1 := foo_~i~0#1; {4695#false} is VALID [2022-02-20 23:49:45,220 INFO L290 TraceCheckUtils]: 32: Hoare triple {4695#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4695#false} is VALID [2022-02-20 23:49:45,220 INFO L290 TraceCheckUtils]: 33: Hoare triple {4695#false} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {4695#false} is VALID [2022-02-20 23:49:45,220 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 4 proven. 32 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:45,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:45,410 INFO L290 TraceCheckUtils]: 33: Hoare triple {4695#false} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {4695#false} is VALID [2022-02-20 23:49:45,410 INFO L290 TraceCheckUtils]: 32: Hoare triple {4695#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4695#false} is VALID [2022-02-20 23:49:45,410 INFO L290 TraceCheckUtils]: 31: Hoare triple {4695#false} foo_#res#1 := foo_~i~0#1; {4695#false} is VALID [2022-02-20 23:49:45,414 INFO L290 TraceCheckUtils]: 30: Hoare triple {4817#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {4695#false} is VALID [2022-02-20 23:49:45,414 INFO L290 TraceCheckUtils]: 29: Hoare triple {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4817#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,415 INFO L290 TraceCheckUtils]: 28: Hoare triple {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,416 INFO L290 TraceCheckUtils]: 27: Hoare triple {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,417 INFO L290 TraceCheckUtils]: 26: Hoare triple {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,417 INFO L290 TraceCheckUtils]: 25: Hoare triple {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,418 INFO L290 TraceCheckUtils]: 24: Hoare triple {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4821#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,418 INFO L290 TraceCheckUtils]: 23: Hoare triple {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,418 INFO L290 TraceCheckUtils]: 22: Hoare triple {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,419 INFO L290 TraceCheckUtils]: 21: Hoare triple {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,419 INFO L290 TraceCheckUtils]: 20: Hoare triple {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,420 INFO L290 TraceCheckUtils]: 19: Hoare triple {4698#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4837#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:49:45,420 INFO L290 TraceCheckUtils]: 18: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {4698#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,420 INFO L290 TraceCheckUtils]: 17: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,421 INFO L290 TraceCheckUtils]: 16: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,422 INFO L290 TraceCheckUtils]: 15: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,424 INFO L290 TraceCheckUtils]: 12: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,424 INFO L290 TraceCheckUtils]: 11: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,425 INFO L290 TraceCheckUtils]: 10: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,425 INFO L290 TraceCheckUtils]: 9: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,425 INFO L290 TraceCheckUtils]: 8: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,425 INFO L290 TraceCheckUtils]: 7: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,426 INFO L290 TraceCheckUtils]: 6: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,426 INFO L290 TraceCheckUtils]: 5: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,426 INFO L290 TraceCheckUtils]: 4: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,427 INFO L290 TraceCheckUtils]: 3: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,427 INFO L290 TraceCheckUtils]: 2: Hoare triple {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,427 INFO L290 TraceCheckUtils]: 1: Hoare triple {4694#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {4708#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:49:45,428 INFO L290 TraceCheckUtils]: 0: Hoare triple {4694#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {4694#true} is VALID [2022-02-20 23:49:45,428 INFO L134 CoverageAnalysis]: Checked inductivity of 43 backedges. 4 proven. 32 refuted. 0 times theorem prover too weak. 7 trivial. 0 not checked. [2022-02-20 23:49:45,428 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [36019533] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:45,428 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:45,428 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 15 [2022-02-20 23:49:45,428 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1416084981] [2022-02-20 23:49:45,428 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:45,429 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.4) internal successors, (66), 15 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 34 [2022-02-20 23:49:45,429 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:45,429 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 4.4) internal successors, (66), 15 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:45,479 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:49:45,479 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:49:45,479 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:45,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:49:45,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=57, Invalid=153, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:49:45,480 INFO L87 Difference]: Start difference. First operand 66 states and 70 transitions. Second operand has 15 states, 15 states have (on average 4.4) internal successors, (66), 15 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:45,960 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:45,960 INFO L93 Difference]: Finished difference Result 66 states and 69 transitions. [2022-02-20 23:49:45,960 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 11 states. [2022-02-20 23:49:45,961 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.4) internal successors, (66), 15 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 34 [2022-02-20 23:49:45,961 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:45,961 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.4) internal successors, (66), 15 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:45,964 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2022-02-20 23:49:45,964 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.4) internal successors, (66), 15 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:45,968 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 11 states to 11 states and 64 transitions. [2022-02-20 23:49:45,969 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 11 states and 64 transitions. [2022-02-20 23:49:46,023 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:49:46,024 INFO L225 Difference]: With dead ends: 66 [2022-02-20 23:49:46,024 INFO L226 Difference]: Without dead ends: 66 [2022-02-20 23:49:46,024 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 80 GetRequests, 62 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 55 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=102, Invalid=278, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:49:46,025 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 101 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 265 mSolverCounterSat, 20 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 285 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 20 IncrementalHoareTripleChecker+Valid, 265 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:46,025 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [101 Valid, 70 Invalid, 285 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [20 Valid, 265 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:49:46,025 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 66 states. [2022-02-20 23:49:46,026 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 66 to 66. [2022-02-20 23:49:46,027 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:46,027 INFO L82 GeneralOperation]: Start isEquivalent. First operand 66 states. Second operand has 66 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 65 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:46,027 INFO L74 IsIncluded]: Start isIncluded. First operand 66 states. Second operand has 66 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 65 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:46,027 INFO L87 Difference]: Start difference. First operand 66 states. Second operand has 66 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 65 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:46,028 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:46,028 INFO L93 Difference]: Finished difference Result 66 states and 69 transitions. [2022-02-20 23:49:46,031 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 69 transitions. [2022-02-20 23:49:46,031 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:46,031 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:46,031 INFO L74 IsIncluded]: Start isIncluded. First operand has 66 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 65 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 66 states. [2022-02-20 23:49:46,032 INFO L87 Difference]: Start difference. First operand has 66 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 65 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 66 states. [2022-02-20 23:49:46,033 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:46,033 INFO L93 Difference]: Finished difference Result 66 states and 69 transitions. [2022-02-20 23:49:46,033 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 69 transitions. [2022-02-20 23:49:46,033 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:46,033 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:46,033 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:46,033 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:46,034 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 66 states, 61 states have (on average 1.1311475409836065) internal successors, (69), 65 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:46,035 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 66 states to 66 states and 69 transitions. [2022-02-20 23:49:46,035 INFO L78 Accepts]: Start accepts. Automaton has 66 states and 69 transitions. Word has length 34 [2022-02-20 23:49:46,035 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:46,035 INFO L470 AbstractCegarLoop]: Abstraction has 66 states and 69 transitions. [2022-02-20 23:49:46,035 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 4.4) internal successors, (66), 15 states have internal predecessors, (66), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:46,036 INFO L276 IsEmpty]: Start isEmpty. Operand 66 states and 69 transitions. [2022-02-20 23:49:46,038 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 40 [2022-02-20 23:49:46,038 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:46,038 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:46,063 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (9)] Forceful destruction successful, exit code 0 [2022-02-20 23:49:46,239 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-02-20 23:49:46,239 INFO L402 AbstractCegarLoop]: === Iteration 16 === Targeting ULTIMATE.startErr4REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:46,239 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:46,240 INFO L85 PathProgramCache]: Analyzing trace with hash 882673172, now seen corresponding path program 2 times [2022-02-20 23:49:46,240 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:46,240 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [442179568] [2022-02-20 23:49:46,240 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:46,240 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:46,282 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:46,507 INFO L290 TraceCheckUtils]: 0: Hoare triple {5183#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5183#true} is VALID [2022-02-20 23:49:46,508 INFO L290 TraceCheckUtils]: 1: Hoare triple {5183#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,510 INFO L290 TraceCheckUtils]: 3: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} assume !!(foo_~i~0#1 <= foo_~size#1); {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,511 INFO L290 TraceCheckUtils]: 4: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,512 INFO L290 TraceCheckUtils]: 5: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,512 INFO L290 TraceCheckUtils]: 6: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,513 INFO L290 TraceCheckUtils]: 7: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,514 INFO L290 TraceCheckUtils]: 8: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} assume !!(foo_~i~0#1 <= foo_~size#1); {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,515 INFO L290 TraceCheckUtils]: 9: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,515 INFO L290 TraceCheckUtils]: 10: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,517 INFO L290 TraceCheckUtils]: 12: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,518 INFO L290 TraceCheckUtils]: 13: Hoare triple {5186#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} assume !(foo_~i~0#1 <= foo_~size#1); {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,518 INFO L290 TraceCheckUtils]: 14: Hoare triple {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} foo_#res#1 := foo_~i~0#1; {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,519 INFO L290 TraceCheckUtils]: 15: Hoare triple {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,520 INFO L290 TraceCheckUtils]: 16: Hoare triple {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,521 INFO L290 TraceCheckUtils]: 17: Hoare triple {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} havoc main_#t~ret3#1; {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} is VALID [2022-02-20 23:49:46,521 INFO L290 TraceCheckUtils]: 18: Hoare triple {5185#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {5187#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)))) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,522 INFO L290 TraceCheckUtils]: 19: Hoare triple {5187#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0) (and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)))) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,523 INFO L290 TraceCheckUtils]: 20: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,524 INFO L290 TraceCheckUtils]: 21: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,525 INFO L290 TraceCheckUtils]: 22: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,526 INFO L290 TraceCheckUtils]: 23: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,527 INFO L290 TraceCheckUtils]: 24: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,528 INFO L290 TraceCheckUtils]: 25: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,529 INFO L290 TraceCheckUtils]: 26: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,529 INFO L290 TraceCheckUtils]: 27: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,530 INFO L290 TraceCheckUtils]: 28: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,531 INFO L290 TraceCheckUtils]: 29: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,532 INFO L290 TraceCheckUtils]: 30: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,533 INFO L290 TraceCheckUtils]: 31: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,534 INFO L290 TraceCheckUtils]: 32: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,534 INFO L290 TraceCheckUtils]: 33: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,535 INFO L290 TraceCheckUtils]: 34: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,536 INFO L290 TraceCheckUtils]: 35: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume !(foo_~i~0#1 <= foo_~size#1); {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,537 INFO L290 TraceCheckUtils]: 36: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} foo_#res#1 := foo_~i~0#1; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,538 INFO L290 TraceCheckUtils]: 37: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:46,538 INFO L290 TraceCheckUtils]: 38: Hoare triple {5188#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (or (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 124) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (or (not (= (+ (- 32) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 0)) (<= |ULTIMATE.start_main_~i~1#1| 1)))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {5184#false} is VALID [2022-02-20 23:49:46,539 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:49:46,540 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:46,540 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [442179568] [2022-02-20 23:49:46,540 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [442179568] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:46,540 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1889024878] [2022-02-20 23:49:46,540 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:49:46,540 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:46,540 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:46,541 INFO L229 MonitoredProcess]: Starting monitored process 10 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-02-20 23:49:46,542 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:49:46,604 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:49:46,605 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:49:46,606 INFO L263 TraceCheckSpWp]: Trace formula consists of 162 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 23:49:46,620 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:46,621 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:46,674 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:49:46,674 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:49:46,706 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-02-20 23:49:47,209 INFO L290 TraceCheckUtils]: 0: Hoare triple {5183#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5183#true} is VALID [2022-02-20 23:49:47,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {5183#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {5195#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {5195#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (not (= |ULTIMATE.start_main_~#mask~0#1.base| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,212 INFO L290 TraceCheckUtils]: 3: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,212 INFO L290 TraceCheckUtils]: 4: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,214 INFO L290 TraceCheckUtils]: 6: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,216 INFO L290 TraceCheckUtils]: 9: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,216 INFO L290 TraceCheckUtils]: 10: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,217 INFO L290 TraceCheckUtils]: 11: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,218 INFO L290 TraceCheckUtils]: 12: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,218 INFO L290 TraceCheckUtils]: 13: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,219 INFO L290 TraceCheckUtils]: 14: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,219 INFO L290 TraceCheckUtils]: 15: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,220 INFO L290 TraceCheckUtils]: 16: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,220 INFO L290 TraceCheckUtils]: 17: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} havoc main_#t~ret3#1; {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,221 INFO L290 TraceCheckUtils]: 18: Hoare triple {5199#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,221 INFO L290 TraceCheckUtils]: 19: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,222 INFO L290 TraceCheckUtils]: 20: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,222 INFO L290 TraceCheckUtils]: 21: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,223 INFO L290 TraceCheckUtils]: 22: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,223 INFO L290 TraceCheckUtils]: 23: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,224 INFO L290 TraceCheckUtils]: 24: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,224 INFO L290 TraceCheckUtils]: 25: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,225 INFO L290 TraceCheckUtils]: 26: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,225 INFO L290 TraceCheckUtils]: 27: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,226 INFO L290 TraceCheckUtils]: 28: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,226 INFO L290 TraceCheckUtils]: 29: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,227 INFO L290 TraceCheckUtils]: 30: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,227 INFO L290 TraceCheckUtils]: 31: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,228 INFO L290 TraceCheckUtils]: 32: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,228 INFO L290 TraceCheckUtils]: 33: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,229 INFO L290 TraceCheckUtils]: 34: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,229 INFO L290 TraceCheckUtils]: 35: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,230 INFO L290 TraceCheckUtils]: 36: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,230 INFO L290 TraceCheckUtils]: 37: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,231 INFO L290 TraceCheckUtils]: 38: Hoare triple {5248#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 1) (<= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {5184#false} is VALID [2022-02-20 23:49:47,232 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:49:47,232 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:47,744 INFO L290 TraceCheckUtils]: 38: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {5184#false} is VALID [2022-02-20 23:49:47,744 INFO L290 TraceCheckUtils]: 37: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,745 INFO L290 TraceCheckUtils]: 36: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,745 INFO L290 TraceCheckUtils]: 35: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,746 INFO L290 TraceCheckUtils]: 34: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,746 INFO L290 TraceCheckUtils]: 33: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,747 INFO L290 TraceCheckUtils]: 32: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,747 INFO L290 TraceCheckUtils]: 31: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,747 INFO L290 TraceCheckUtils]: 30: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,748 INFO L290 TraceCheckUtils]: 29: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,748 INFO L290 TraceCheckUtils]: 28: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,749 INFO L290 TraceCheckUtils]: 27: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,749 INFO L290 TraceCheckUtils]: 26: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,750 INFO L290 TraceCheckUtils]: 25: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,750 INFO L290 TraceCheckUtils]: 24: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,751 INFO L290 TraceCheckUtils]: 23: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,751 INFO L290 TraceCheckUtils]: 22: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,752 INFO L290 TraceCheckUtils]: 20: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,752 INFO L290 TraceCheckUtils]: 19: Hoare triple {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,753 INFO L290 TraceCheckUtils]: 18: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {5309#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:47,753 INFO L290 TraceCheckUtils]: 17: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} havoc main_#t~ret3#1; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,754 INFO L290 TraceCheckUtils]: 16: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,754 INFO L290 TraceCheckUtils]: 15: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,755 INFO L290 TraceCheckUtils]: 14: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} foo_#res#1 := foo_~i~0#1; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,755 INFO L290 TraceCheckUtils]: 13: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} assume !(foo_~i~0#1 <= foo_~size#1); {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,756 INFO L290 TraceCheckUtils]: 12: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,757 INFO L290 TraceCheckUtils]: 11: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,758 INFO L290 TraceCheckUtils]: 10: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,758 INFO L290 TraceCheckUtils]: 9: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,758 INFO L290 TraceCheckUtils]: 8: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,759 INFO L290 TraceCheckUtils]: 7: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,759 INFO L290 TraceCheckUtils]: 6: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,760 INFO L290 TraceCheckUtils]: 5: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,760 INFO L290 TraceCheckUtils]: 4: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,761 INFO L290 TraceCheckUtils]: 3: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,761 INFO L290 TraceCheckUtils]: 2: Hoare triple {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,762 INFO L290 TraceCheckUtils]: 1: Hoare triple {5183#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {5370#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:47,762 INFO L290 TraceCheckUtils]: 0: Hoare triple {5183#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {5183#true} is VALID [2022-02-20 23:49:47,762 INFO L134 CoverageAnalysis]: Checked inductivity of 65 backedges. 0 proven. 40 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:49:47,763 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1889024878] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:47,763 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:47,763 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 4, 3] total 10 [2022-02-20 23:49:47,763 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [549696385] [2022-02-20 23:49:47,763 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:47,763 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 7.0) internal successors, (70), 11 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 39 [2022-02-20 23:49:47,764 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:47,764 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 7.0) internal successors, (70), 11 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:47,828 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:49:47,829 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-02-20 23:49:47,829 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:47,829 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-02-20 23:49:47,829 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=38, Invalid=72, Unknown=0, NotChecked=0, Total=110 [2022-02-20 23:49:47,829 INFO L87 Difference]: Start difference. First operand 66 states and 69 transitions. Second operand has 11 states, 10 states have (on average 7.0) internal successors, (70), 11 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:48,184 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:48,184 INFO L93 Difference]: Finished difference Result 158 states and 169 transitions. [2022-02-20 23:49:48,184 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:49:48,185 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 7.0) internal successors, (70), 11 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 39 [2022-02-20 23:49:48,185 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:48,185 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 7.0) internal successors, (70), 11 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:48,186 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 86 transitions. [2022-02-20 23:49:48,186 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 7.0) internal successors, (70), 11 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:48,187 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 86 transitions. [2022-02-20 23:49:48,187 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 86 transitions. [2022-02-20 23:49:48,256 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 86 edges. 86 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:48,257 INFO L225 Difference]: With dead ends: 158 [2022-02-20 23:49:48,258 INFO L226 Difference]: Without dead ends: 158 [2022-02-20 23:49:48,258 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 85 GetRequests, 73 SyntacticMatches, 0 SemanticMatches, 12 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 36 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=66, Invalid=116, Unknown=0, NotChecked=0, Total=182 [2022-02-20 23:49:48,258 INFO L933 BasicCegarLoop]: 25 mSDtfsCounter, 47 mSDsluCounter, 86 mSDsCounter, 0 mSdLazyCounter, 144 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 111 SdHoareTripleChecker+Invalid, 150 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 144 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:48,259 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [47 Valid, 111 Invalid, 150 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 144 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:49:48,259 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 158 states. [2022-02-20 23:49:48,261 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 158 to 150. [2022-02-20 23:49:48,261 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:48,262 INFO L82 GeneralOperation]: Start isEquivalent. First operand 158 states. Second operand has 150 states, 145 states have (on average 1.1517241379310346) internal successors, (167), 149 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:48,262 INFO L74 IsIncluded]: Start isIncluded. First operand 158 states. Second operand has 150 states, 145 states have (on average 1.1517241379310346) internal successors, (167), 149 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:48,262 INFO L87 Difference]: Start difference. First operand 158 states. Second operand has 150 states, 145 states have (on average 1.1517241379310346) internal successors, (167), 149 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:48,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:48,265 INFO L93 Difference]: Finished difference Result 158 states and 169 transitions. [2022-02-20 23:49:48,265 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 169 transitions. [2022-02-20 23:49:48,265 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:48,265 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:48,265 INFO L74 IsIncluded]: Start isIncluded. First operand has 150 states, 145 states have (on average 1.1517241379310346) internal successors, (167), 149 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 158 states. [2022-02-20 23:49:48,266 INFO L87 Difference]: Start difference. First operand has 150 states, 145 states have (on average 1.1517241379310346) internal successors, (167), 149 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 158 states. [2022-02-20 23:49:48,273 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:48,273 INFO L93 Difference]: Finished difference Result 158 states and 169 transitions. [2022-02-20 23:49:48,274 INFO L276 IsEmpty]: Start isEmpty. Operand 158 states and 169 transitions. [2022-02-20 23:49:48,274 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:48,274 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:48,274 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:48,274 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:48,275 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 150 states, 145 states have (on average 1.1517241379310346) internal successors, (167), 149 states have internal predecessors, (167), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:48,277 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 150 states to 150 states and 167 transitions. [2022-02-20 23:49:48,278 INFO L78 Accepts]: Start accepts. Automaton has 150 states and 167 transitions. Word has length 39 [2022-02-20 23:49:48,278 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:48,278 INFO L470 AbstractCegarLoop]: Abstraction has 150 states and 167 transitions. [2022-02-20 23:49:48,278 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 7.0) internal successors, (70), 11 states have internal predecessors, (70), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:48,278 INFO L276 IsEmpty]: Start isEmpty. Operand 150 states and 167 transitions. [2022-02-20 23:49:48,280 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 43 [2022-02-20 23:49:48,280 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:48,280 INFO L514 BasicCegarLoop]: trace histogram [7, 6, 6, 6, 6, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:48,301 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:49:48,495 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-02-20 23:49:48,496 INFO L402 AbstractCegarLoop]: === Iteration 17 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:48,496 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:48,496 INFO L85 PathProgramCache]: Analyzing trace with hash -890031373, now seen corresponding path program 1 times [2022-02-20 23:49:48,496 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:48,496 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1151578396] [2022-02-20 23:49:48,496 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:48,496 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:48,531 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:48,619 INFO L290 TraceCheckUtils]: 0: Hoare triple {6054#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6054#true} is VALID [2022-02-20 23:49:48,620 INFO L290 TraceCheckUtils]: 1: Hoare triple {6054#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:48,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,621 INFO L290 TraceCheckUtils]: 3: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,622 INFO L290 TraceCheckUtils]: 4: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,622 INFO L290 TraceCheckUtils]: 5: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,623 INFO L290 TraceCheckUtils]: 6: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,624 INFO L290 TraceCheckUtils]: 7: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,624 INFO L290 TraceCheckUtils]: 8: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,625 INFO L290 TraceCheckUtils]: 9: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,625 INFO L290 TraceCheckUtils]: 10: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,626 INFO L290 TraceCheckUtils]: 11: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,626 INFO L290 TraceCheckUtils]: 12: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:48,627 INFO L290 TraceCheckUtils]: 13: Hoare triple {6057#(and (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:48,627 INFO L290 TraceCheckUtils]: 14: Hoare triple {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:48,627 INFO L290 TraceCheckUtils]: 15: Hoare triple {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:48,628 INFO L290 TraceCheckUtils]: 16: Hoare triple {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:48,628 INFO L290 TraceCheckUtils]: 17: Hoare triple {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:48,629 INFO L290 TraceCheckUtils]: 18: Hoare triple {6056#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {6058#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:49:48,630 INFO L290 TraceCheckUtils]: 19: Hoare triple {6058#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} is VALID [2022-02-20 23:49:48,630 INFO L290 TraceCheckUtils]: 20: Hoare triple {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} assume !!(foo_~i~0#1 <= foo_~size#1); {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} is VALID [2022-02-20 23:49:48,630 INFO L290 TraceCheckUtils]: 21: Hoare triple {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} is VALID [2022-02-20 23:49:48,631 INFO L290 TraceCheckUtils]: 22: Hoare triple {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} is VALID [2022-02-20 23:49:48,631 INFO L290 TraceCheckUtils]: 23: Hoare triple {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} is VALID [2022-02-20 23:49:48,632 INFO L290 TraceCheckUtils]: 24: Hoare triple {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} is VALID [2022-02-20 23:49:48,632 INFO L290 TraceCheckUtils]: 25: Hoare triple {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} assume !!(foo_~i~0#1 <= foo_~size#1); {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} is VALID [2022-02-20 23:49:48,633 INFO L290 TraceCheckUtils]: 26: Hoare triple {6059#(<= |ULTIMATE.start_foo_~size#1| 2)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:48,633 INFO L290 TraceCheckUtils]: 27: Hoare triple {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:48,634 INFO L290 TraceCheckUtils]: 28: Hoare triple {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:48,634 INFO L290 TraceCheckUtils]: 29: Hoare triple {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:48,635 INFO L290 TraceCheckUtils]: 30: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:48,635 INFO L290 TraceCheckUtils]: 31: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:48,636 INFO L290 TraceCheckUtils]: 32: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:48,636 INFO L290 TraceCheckUtils]: 33: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:48,637 INFO L290 TraceCheckUtils]: 34: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:48,637 INFO L290 TraceCheckUtils]: 35: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:48,637 INFO L290 TraceCheckUtils]: 36: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:48,638 INFO L290 TraceCheckUtils]: 37: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:48,638 INFO L290 TraceCheckUtils]: 38: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:48,639 INFO L290 TraceCheckUtils]: 39: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6063#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:48,639 INFO L290 TraceCheckUtils]: 40: Hoare triple {6063#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {6055#false} is VALID [2022-02-20 23:49:48,640 INFO L290 TraceCheckUtils]: 41: Hoare triple {6055#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {6055#false} is VALID [2022-02-20 23:49:48,640 INFO L134 CoverageAnalysis]: Checked inductivity of 95 backedges. 19 proven. 67 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-02-20 23:49:48,640 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:48,640 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1151578396] [2022-02-20 23:49:48,640 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1151578396] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:48,641 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1369865822] [2022-02-20 23:49:48,641 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:48,641 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:48,641 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:48,642 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:49:48,658 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:49:48,720 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:48,721 INFO L263 TraceCheckSpWp]: Trace formula consists of 170 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:49:48,736 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:48,737 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:49,028 INFO L290 TraceCheckUtils]: 0: Hoare triple {6054#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6054#true} is VALID [2022-02-20 23:49:49,029 INFO L290 TraceCheckUtils]: 1: Hoare triple {6054#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,030 INFO L290 TraceCheckUtils]: 2: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,030 INFO L290 TraceCheckUtils]: 3: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,030 INFO L290 TraceCheckUtils]: 4: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,031 INFO L290 TraceCheckUtils]: 5: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,031 INFO L290 TraceCheckUtils]: 6: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,031 INFO L290 TraceCheckUtils]: 7: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,032 INFO L290 TraceCheckUtils]: 8: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,032 INFO L290 TraceCheckUtils]: 9: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,032 INFO L290 TraceCheckUtils]: 10: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,033 INFO L290 TraceCheckUtils]: 11: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,033 INFO L290 TraceCheckUtils]: 12: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,033 INFO L290 TraceCheckUtils]: 13: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !(foo_~i~0#1 <= foo_~size#1); {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,034 INFO L290 TraceCheckUtils]: 14: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,034 INFO L290 TraceCheckUtils]: 15: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,035 INFO L290 TraceCheckUtils]: 16: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,035 INFO L290 TraceCheckUtils]: 17: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,035 INFO L290 TraceCheckUtils]: 18: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {6058#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:49:49,037 INFO L290 TraceCheckUtils]: 19: Hoare triple {6058#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,037 INFO L290 TraceCheckUtils]: 20: Hoare triple {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,038 INFO L290 TraceCheckUtils]: 21: Hoare triple {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,038 INFO L290 TraceCheckUtils]: 22: Hoare triple {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,039 INFO L290 TraceCheckUtils]: 23: Hoare triple {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,039 INFO L290 TraceCheckUtils]: 24: Hoare triple {6125#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,040 INFO L290 TraceCheckUtils]: 25: Hoare triple {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,040 INFO L290 TraceCheckUtils]: 26: Hoare triple {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,041 INFO L290 TraceCheckUtils]: 28: Hoare triple {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,042 INFO L290 TraceCheckUtils]: 29: Hoare triple {6141#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,042 INFO L290 TraceCheckUtils]: 30: Hoare triple {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,043 INFO L290 TraceCheckUtils]: 31: Hoare triple {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,043 INFO L290 TraceCheckUtils]: 32: Hoare triple {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,043 INFO L290 TraceCheckUtils]: 33: Hoare triple {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:49,048 INFO L290 TraceCheckUtils]: 34: Hoare triple {6157#(and (<= |ULTIMATE.start_foo_~size#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6173#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 2))} is VALID [2022-02-20 23:49:49,048 INFO L290 TraceCheckUtils]: 35: Hoare triple {6173#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {6055#false} is VALID [2022-02-20 23:49:49,048 INFO L290 TraceCheckUtils]: 36: Hoare triple {6055#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6055#false} is VALID [2022-02-20 23:49:49,048 INFO L290 TraceCheckUtils]: 37: Hoare triple {6055#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6055#false} is VALID [2022-02-20 23:49:49,048 INFO L290 TraceCheckUtils]: 38: Hoare triple {6055#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6055#false} is VALID [2022-02-20 23:49:49,048 INFO L290 TraceCheckUtils]: 39: Hoare triple {6055#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6055#false} is VALID [2022-02-20 23:49:49,048 INFO L290 TraceCheckUtils]: 40: Hoare triple {6055#false} assume !!(foo_~i~0#1 <= foo_~size#1); {6055#false} is VALID [2022-02-20 23:49:49,049 INFO L290 TraceCheckUtils]: 41: Hoare triple {6055#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {6055#false} is VALID [2022-02-20 23:49:49,049 INFO L134 CoverageAnalysis]: Checked inductivity of 95 backedges. 50 proven. 37 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:49:49,049 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:49,237 INFO L290 TraceCheckUtils]: 41: Hoare triple {6055#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {6055#false} is VALID [2022-02-20 23:49:49,237 INFO L290 TraceCheckUtils]: 40: Hoare triple {6055#false} assume !!(foo_~i~0#1 <= foo_~size#1); {6055#false} is VALID [2022-02-20 23:49:49,237 INFO L290 TraceCheckUtils]: 39: Hoare triple {6055#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6055#false} is VALID [2022-02-20 23:49:49,237 INFO L290 TraceCheckUtils]: 38: Hoare triple {6055#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6055#false} is VALID [2022-02-20 23:49:49,237 INFO L290 TraceCheckUtils]: 37: Hoare triple {6055#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6055#false} is VALID [2022-02-20 23:49:49,237 INFO L290 TraceCheckUtils]: 36: Hoare triple {6055#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6055#false} is VALID [2022-02-20 23:49:49,238 INFO L290 TraceCheckUtils]: 35: Hoare triple {6063#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {6055#false} is VALID [2022-02-20 23:49:49,238 INFO L290 TraceCheckUtils]: 34: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6063#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:49,239 INFO L290 TraceCheckUtils]: 33: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:49,239 INFO L290 TraceCheckUtils]: 32: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:49,239 INFO L290 TraceCheckUtils]: 31: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:49,240 INFO L290 TraceCheckUtils]: 30: Hoare triple {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:49,240 INFO L290 TraceCheckUtils]: 29: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6062#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:49:49,240 INFO L290 TraceCheckUtils]: 28: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:49,241 INFO L290 TraceCheckUtils]: 27: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:49,241 INFO L290 TraceCheckUtils]: 26: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:49,241 INFO L290 TraceCheckUtils]: 25: Hoare triple {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:49,242 INFO L290 TraceCheckUtils]: 24: Hoare triple {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6061#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:49:49,242 INFO L290 TraceCheckUtils]: 23: Hoare triple {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:49,242 INFO L290 TraceCheckUtils]: 22: Hoare triple {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:49,243 INFO L290 TraceCheckUtils]: 21: Hoare triple {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:49,243 INFO L290 TraceCheckUtils]: 20: Hoare triple {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:49,244 INFO L290 TraceCheckUtils]: 19: Hoare triple {6058#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6060#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:49:49,244 INFO L290 TraceCheckUtils]: 18: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {6058#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:49:49,244 INFO L290 TraceCheckUtils]: 17: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,245 INFO L290 TraceCheckUtils]: 16: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,245 INFO L290 TraceCheckUtils]: 15: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,247 INFO L290 TraceCheckUtils]: 14: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,248 INFO L290 TraceCheckUtils]: 13: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !(foo_~i~0#1 <= foo_~size#1); {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,248 INFO L290 TraceCheckUtils]: 12: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,248 INFO L290 TraceCheckUtils]: 11: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,249 INFO L290 TraceCheckUtils]: 10: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,249 INFO L290 TraceCheckUtils]: 9: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,249 INFO L290 TraceCheckUtils]: 8: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,249 INFO L290 TraceCheckUtils]: 7: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,250 INFO L290 TraceCheckUtils]: 6: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,250 INFO L290 TraceCheckUtils]: 5: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,250 INFO L290 TraceCheckUtils]: 4: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,251 INFO L290 TraceCheckUtils]: 3: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,251 INFO L290 TraceCheckUtils]: 2: Hoare triple {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,251 INFO L290 TraceCheckUtils]: 1: Hoare triple {6054#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {6070#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:49,252 INFO L290 TraceCheckUtils]: 0: Hoare triple {6054#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6054#true} is VALID [2022-02-20 23:49:49,252 INFO L134 CoverageAnalysis]: Checked inductivity of 95 backedges. 50 proven. 37 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:49:49,252 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1369865822] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:49,252 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:49,252 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [10, 8, 8] total 15 [2022-02-20 23:49:49,252 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [410750567] [2022-02-20 23:49:49,252 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:49,253 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.933333333333334) internal successors, (74), 15 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 23:49:49,253 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:49,253 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 4.933333333333334) internal successors, (74), 15 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,300 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:49,300 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-02-20 23:49:49,300 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:49,301 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-02-20 23:49:49,301 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=60, Invalid=150, Unknown=0, NotChecked=0, Total=210 [2022-02-20 23:49:49,301 INFO L87 Difference]: Start difference. First operand 150 states and 167 transitions. Second operand has 15 states, 15 states have (on average 4.933333333333334) internal successors, (74), 15 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,734 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:49,734 INFO L93 Difference]: Finished difference Result 165 states and 178 transitions. [2022-02-20 23:49:49,734 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 16 states. [2022-02-20 23:49:49,735 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 4.933333333333334) internal successors, (74), 15 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 42 [2022-02-20 23:49:49,735 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:49,735 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.933333333333334) internal successors, (74), 15 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,736 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 96 transitions. [2022-02-20 23:49:49,736 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 4.933333333333334) internal successors, (74), 15 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,737 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 16 states to 16 states and 96 transitions. [2022-02-20 23:49:49,737 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 16 states and 96 transitions. [2022-02-20 23:49:49,819 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 96 edges. 96 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:49,821 INFO L225 Difference]: With dead ends: 165 [2022-02-20 23:49:49,821 INFO L226 Difference]: Without dead ends: 165 [2022-02-20 23:49:49,821 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 104 GetRequests, 79 SyntacticMatches, 1 SemanticMatches, 24 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 132 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=205, Invalid=445, Unknown=0, NotChecked=0, Total=650 [2022-02-20 23:49:49,822 INFO L933 BasicCegarLoop]: 15 mSDtfsCounter, 192 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 162 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 192 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 197 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 162 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:49,822 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [192 Valid, 73 Invalid, 197 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 162 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:49:49,823 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 165 states. [2022-02-20 23:49:49,825 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 165 to 143. [2022-02-20 23:49:49,825 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:49,825 INFO L82 GeneralOperation]: Start isEquivalent. First operand 165 states. Second operand has 143 states, 138 states have (on average 1.1304347826086956) internal successors, (156), 142 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,826 INFO L74 IsIncluded]: Start isIncluded. First operand 165 states. Second operand has 143 states, 138 states have (on average 1.1304347826086956) internal successors, (156), 142 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,826 INFO L87 Difference]: Start difference. First operand 165 states. Second operand has 143 states, 138 states have (on average 1.1304347826086956) internal successors, (156), 142 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,828 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:49,829 INFO L93 Difference]: Finished difference Result 165 states and 178 transitions. [2022-02-20 23:49:49,829 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 178 transitions. [2022-02-20 23:49:49,829 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:49,829 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:49,830 INFO L74 IsIncluded]: Start isIncluded. First operand has 143 states, 138 states have (on average 1.1304347826086956) internal successors, (156), 142 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 165 states. [2022-02-20 23:49:49,830 INFO L87 Difference]: Start difference. First operand has 143 states, 138 states have (on average 1.1304347826086956) internal successors, (156), 142 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 165 states. [2022-02-20 23:49:49,832 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:49,833 INFO L93 Difference]: Finished difference Result 165 states and 178 transitions. [2022-02-20 23:49:49,833 INFO L276 IsEmpty]: Start isEmpty. Operand 165 states and 178 transitions. [2022-02-20 23:49:49,833 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:49,833 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:49,833 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:49,833 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:49,834 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 143 states, 138 states have (on average 1.1304347826086956) internal successors, (156), 142 states have internal predecessors, (156), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,835 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 143 states to 143 states and 156 transitions. [2022-02-20 23:49:49,836 INFO L78 Accepts]: Start accepts. Automaton has 143 states and 156 transitions. Word has length 42 [2022-02-20 23:49:49,836 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:49,836 INFO L470 AbstractCegarLoop]: Abstraction has 143 states and 156 transitions. [2022-02-20 23:49:49,836 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 4.933333333333334) internal successors, (74), 15 states have internal predecessors, (74), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:49,836 INFO L276 IsEmpty]: Start isEmpty. Operand 143 states and 156 transitions. [2022-02-20 23:49:49,837 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-02-20 23:49:49,837 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:49,837 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:49,854 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:49:50,043 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,SelfDestructingSolverStorable16 [2022-02-20 23:49:50,044 INFO L402 AbstractCegarLoop]: === Iteration 18 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:50,044 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:50,044 INFO L85 PathProgramCache]: Analyzing trace with hash -255177540, now seen corresponding path program 2 times [2022-02-20 23:49:50,044 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:50,045 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [302933929] [2022-02-20 23:49:50,045 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:50,045 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:50,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:50,179 INFO L290 TraceCheckUtils]: 0: Hoare triple {6977#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6977#true} is VALID [2022-02-20 23:49:50,179 INFO L290 TraceCheckUtils]: 1: Hoare triple {6977#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:50,180 INFO L290 TraceCheckUtils]: 2: Hoare triple {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,181 INFO L290 TraceCheckUtils]: 3: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,181 INFO L290 TraceCheckUtils]: 4: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,182 INFO L290 TraceCheckUtils]: 5: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,183 INFO L290 TraceCheckUtils]: 6: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,183 INFO L290 TraceCheckUtils]: 7: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,185 INFO L290 TraceCheckUtils]: 10: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,186 INFO L290 TraceCheckUtils]: 12: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:49:50,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {6980#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:50,187 INFO L290 TraceCheckUtils]: 14: Hoare triple {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} foo_#res#1 := foo_~i~0#1; {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:50,187 INFO L290 TraceCheckUtils]: 15: Hoare triple {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:50,188 INFO L290 TraceCheckUtils]: 16: Hoare triple {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:50,188 INFO L290 TraceCheckUtils]: 17: Hoare triple {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} havoc main_#t~ret3#1; {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:50,189 INFO L290 TraceCheckUtils]: 18: Hoare triple {6979#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,189 INFO L290 TraceCheckUtils]: 19: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,190 INFO L290 TraceCheckUtils]: 21: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,191 INFO L290 TraceCheckUtils]: 22: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,191 INFO L290 TraceCheckUtils]: 23: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,192 INFO L290 TraceCheckUtils]: 24: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,192 INFO L290 TraceCheckUtils]: 25: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,193 INFO L290 TraceCheckUtils]: 26: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,193 INFO L290 TraceCheckUtils]: 27: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,194 INFO L290 TraceCheckUtils]: 28: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,194 INFO L290 TraceCheckUtils]: 29: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,194 INFO L290 TraceCheckUtils]: 30: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,195 INFO L290 TraceCheckUtils]: 31: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,195 INFO L290 TraceCheckUtils]: 32: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,196 INFO L290 TraceCheckUtils]: 33: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,196 INFO L290 TraceCheckUtils]: 34: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,197 INFO L290 TraceCheckUtils]: 35: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,197 INFO L290 TraceCheckUtils]: 36: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_#res#1 := foo_~i~0#1; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,198 INFO L290 TraceCheckUtils]: 37: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:50,198 INFO L290 TraceCheckUtils]: 38: Hoare triple {6981#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {6982#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,199 INFO L290 TraceCheckUtils]: 39: Hoare triple {6982#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} havoc main_#t~ret3#1; {6982#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,199 INFO L290 TraceCheckUtils]: 40: Hoare triple {6982#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {6982#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,200 INFO L290 TraceCheckUtils]: 41: Hoare triple {6982#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(main_~i~1#1 % 4294967296 < 32); {6982#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,200 INFO L290 TraceCheckUtils]: 42: Hoare triple {6982#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_~i~1#1 := 0; {6983#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,201 INFO L290 TraceCheckUtils]: 43: Hoare triple {6983#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {6983#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,202 INFO L290 TraceCheckUtils]: 44: Hoare triple {6983#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {6983#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,202 INFO L290 TraceCheckUtils]: 45: Hoare triple {6983#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {6983#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,203 INFO L290 TraceCheckUtils]: 46: Hoare triple {6983#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {6984#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,203 INFO L290 TraceCheckUtils]: 47: Hoare triple {6984#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {6984#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:50,204 INFO L290 TraceCheckUtils]: 48: Hoare triple {6984#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {6978#false} is VALID [2022-02-20 23:49:50,204 INFO L134 CoverageAnalysis]: Checked inductivity of 71 backedges. 0 proven. 46 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:49:50,204 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:50,204 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [302933929] [2022-02-20 23:49:50,205 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [302933929] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:50,205 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2146755371] [2022-02-20 23:49:50,205 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:49:50,205 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:50,205 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:50,206 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:49:50,235 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:49:50,290 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:49:50,290 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:49:50,291 INFO L263 TraceCheckSpWp]: Trace formula consists of 188 conjuncts, 9 conjunts are in the unsatisfiable core [2022-02-20 23:49:50,307 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:50,308 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:50,783 INFO L290 TraceCheckUtils]: 0: Hoare triple {6977#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6977#true} is VALID [2022-02-20 23:49:50,784 INFO L290 TraceCheckUtils]: 1: Hoare triple {6977#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,784 INFO L290 TraceCheckUtils]: 2: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,785 INFO L290 TraceCheckUtils]: 3: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,785 INFO L290 TraceCheckUtils]: 4: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,786 INFO L290 TraceCheckUtils]: 5: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,786 INFO L290 TraceCheckUtils]: 6: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,786 INFO L290 TraceCheckUtils]: 7: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,787 INFO L290 TraceCheckUtils]: 8: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,787 INFO L290 TraceCheckUtils]: 9: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,790 INFO L290 TraceCheckUtils]: 10: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,791 INFO L290 TraceCheckUtils]: 11: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,791 INFO L290 TraceCheckUtils]: 12: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,792 INFO L290 TraceCheckUtils]: 13: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(foo_~i~0#1 <= foo_~size#1); {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,792 INFO L290 TraceCheckUtils]: 14: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#res#1 := foo_~i~0#1; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,792 INFO L290 TraceCheckUtils]: 15: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,793 INFO L290 TraceCheckUtils]: 16: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,793 INFO L290 TraceCheckUtils]: 17: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} havoc main_#t~ret3#1; {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,794 INFO L290 TraceCheckUtils]: 18: Hoare triple {6991#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,794 INFO L290 TraceCheckUtils]: 19: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,794 INFO L290 TraceCheckUtils]: 20: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,795 INFO L290 TraceCheckUtils]: 21: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,795 INFO L290 TraceCheckUtils]: 22: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,796 INFO L290 TraceCheckUtils]: 23: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,799 INFO L290 TraceCheckUtils]: 24: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,800 INFO L290 TraceCheckUtils]: 25: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,801 INFO L290 TraceCheckUtils]: 26: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,801 INFO L290 TraceCheckUtils]: 27: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,802 INFO L290 TraceCheckUtils]: 28: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,802 INFO L290 TraceCheckUtils]: 29: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,803 INFO L290 TraceCheckUtils]: 30: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(foo_~i~0#1 <= foo_~size#1); {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,803 INFO L290 TraceCheckUtils]: 31: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,804 INFO L290 TraceCheckUtils]: 32: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,815 INFO L290 TraceCheckUtils]: 33: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,816 INFO L290 TraceCheckUtils]: 34: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,816 INFO L290 TraceCheckUtils]: 35: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(foo_~i~0#1 <= foo_~size#1); {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,817 INFO L290 TraceCheckUtils]: 36: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} foo_#res#1 := foo_~i~0#1; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,817 INFO L290 TraceCheckUtils]: 37: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,818 INFO L290 TraceCheckUtils]: 38: Hoare triple {7043#(and (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {7104#(and (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,819 INFO L290 TraceCheckUtils]: 39: Hoare triple {7104#(and (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} havoc main_#t~ret3#1; {7104#(and (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,819 INFO L290 TraceCheckUtils]: 40: Hoare triple {7104#(and (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {7104#(and (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,820 INFO L290 TraceCheckUtils]: 41: Hoare triple {7104#(and (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(main_~i~1#1 % 4294967296 < 32); {7104#(and (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,821 INFO L290 TraceCheckUtils]: 42: Hoare triple {7104#(and (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_~i~1#1 := 0; {7117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,821 INFO L290 TraceCheckUtils]: 43: Hoare triple {7117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(main_~i~1#1 % 4294967296 < 32); {7117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,822 INFO L290 TraceCheckUtils]: 44: Hoare triple {7117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {7117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,822 INFO L290 TraceCheckUtils]: 45: Hoare triple {7117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {7117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,823 INFO L290 TraceCheckUtils]: 46: Hoare triple {7117#(and (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7130#(and (= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,824 INFO L290 TraceCheckUtils]: 47: Hoare triple {7130#(and (= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !!(main_~i~1#1 % 4294967296 < 32); {7130#(and (= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:50,824 INFO L290 TraceCheckUtils]: 48: Hoare triple {7130#(and (= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 (div (+ (- 4) (* (- 1) |ULTIMATE.start_main_~#b~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) 4)) (<= 0 |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {6978#false} is VALID [2022-02-20 23:49:50,825 INFO L134 CoverageAnalysis]: Checked inductivity of 71 backedges. 40 proven. 6 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:49:50,825 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:50,970 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 25 treesize of output 21 [2022-02-20 23:49:51,330 INFO L290 TraceCheckUtils]: 48: Hoare triple {7137#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {6978#false} is VALID [2022-02-20 23:49:51,330 INFO L290 TraceCheckUtils]: 47: Hoare triple {7137#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {7137#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:51,331 INFO L290 TraceCheckUtils]: 46: Hoare triple {7144#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7137#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:51,331 INFO L290 TraceCheckUtils]: 45: Hoare triple {7144#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {7144#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:51,332 INFO L290 TraceCheckUtils]: 44: Hoare triple {7144#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {7144#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:51,332 INFO L290 TraceCheckUtils]: 43: Hoare triple {7144#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} assume !!(main_~i~1#1 % 4294967296 < 32); {7144#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:51,333 INFO L290 TraceCheckUtils]: 42: Hoare triple {7157#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_~i~1#1 := 0; {7144#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4)))} is VALID [2022-02-20 23:49:51,333 INFO L290 TraceCheckUtils]: 41: Hoare triple {7157#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(main_~i~1#1 % 4294967296 < 32); {7157#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:51,334 INFO L290 TraceCheckUtils]: 40: Hoare triple {7157#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {7157#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:51,334 INFO L290 TraceCheckUtils]: 39: Hoare triple {7157#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} havoc main_#t~ret3#1; {7157#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:51,335 INFO L290 TraceCheckUtils]: 38: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {7157#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| 8) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:51,335 INFO L290 TraceCheckUtils]: 37: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,335 INFO L290 TraceCheckUtils]: 36: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} foo_#res#1 := foo_~i~0#1; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,336 INFO L290 TraceCheckUtils]: 35: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} assume !(foo_~i~0#1 <= foo_~size#1); {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,336 INFO L290 TraceCheckUtils]: 34: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,337 INFO L290 TraceCheckUtils]: 33: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,337 INFO L290 TraceCheckUtils]: 32: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,337 INFO L290 TraceCheckUtils]: 31: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,338 INFO L290 TraceCheckUtils]: 30: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,338 INFO L290 TraceCheckUtils]: 29: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,338 INFO L290 TraceCheckUtils]: 28: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,339 INFO L290 TraceCheckUtils]: 27: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,339 INFO L290 TraceCheckUtils]: 26: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,340 INFO L290 TraceCheckUtils]: 25: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,340 INFO L290 TraceCheckUtils]: 24: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,340 INFO L290 TraceCheckUtils]: 23: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,341 INFO L290 TraceCheckUtils]: 22: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,341 INFO L290 TraceCheckUtils]: 21: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,342 INFO L290 TraceCheckUtils]: 20: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,343 INFO L290 TraceCheckUtils]: 19: Hoare triple {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,344 INFO L290 TraceCheckUtils]: 18: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {7170#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)) (<= 4 (* |ULTIMATE.start_main_~i~1#1| 4)))} is VALID [2022-02-20 23:49:51,344 INFO L290 TraceCheckUtils]: 17: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} havoc main_#t~ret3#1; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,345 INFO L290 TraceCheckUtils]: 16: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,346 INFO L290 TraceCheckUtils]: 15: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,346 INFO L290 TraceCheckUtils]: 14: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} foo_#res#1 := foo_~i~0#1; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,346 INFO L290 TraceCheckUtils]: 13: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} assume !(foo_~i~0#1 <= foo_~size#1); {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,347 INFO L290 TraceCheckUtils]: 12: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,347 INFO L290 TraceCheckUtils]: 11: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,348 INFO L290 TraceCheckUtils]: 10: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,348 INFO L290 TraceCheckUtils]: 9: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,348 INFO L290 TraceCheckUtils]: 8: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,351 INFO L290 TraceCheckUtils]: 7: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,352 INFO L290 TraceCheckUtils]: 6: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,352 INFO L290 TraceCheckUtils]: 5: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,353 INFO L290 TraceCheckUtils]: 4: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,353 INFO L290 TraceCheckUtils]: 3: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,354 INFO L290 TraceCheckUtils]: 2: Hoare triple {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,354 INFO L290 TraceCheckUtils]: 1: Hoare triple {6977#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {7231#(and (<= 0 |ULTIMATE.start_main_~i~1#1|) (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| 4)))} is VALID [2022-02-20 23:49:51,354 INFO L290 TraceCheckUtils]: 0: Hoare triple {6977#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {6977#true} is VALID [2022-02-20 23:49:51,355 INFO L134 CoverageAnalysis]: Checked inductivity of 71 backedges. 40 proven. 6 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:49:51,355 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2146755371] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:51,355 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:51,355 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 17 [2022-02-20 23:49:51,355 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [878391344] [2022-02-20 23:49:51,355 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:51,356 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 5.882352941176471) internal successors, (100), 18 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 23:49:51,356 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:51,356 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 18 states, 17 states have (on average 5.882352941176471) internal successors, (100), 18 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,426 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 100 edges. 100 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:51,426 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 18 states [2022-02-20 23:49:51,427 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:51,427 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 18 interpolants. [2022-02-20 23:49:51,427 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=81, Invalid=225, Unknown=0, NotChecked=0, Total=306 [2022-02-20 23:49:51,427 INFO L87 Difference]: Start difference. First operand 143 states and 156 transitions. Second operand has 18 states, 17 states have (on average 5.882352941176471) internal successors, (100), 18 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,762 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:51,762 INFO L93 Difference]: Finished difference Result 146 states and 159 transitions. [2022-02-20 23:49:51,763 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-02-20 23:49:51,763 INFO L78 Accepts]: Start accepts. Automaton has has 18 states, 17 states have (on average 5.882352941176471) internal successors, (100), 18 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 49 [2022-02-20 23:49:51,763 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:51,763 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 5.882352941176471) internal successors, (100), 18 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,764 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-02-20 23:49:51,764 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 18 states, 17 states have (on average 5.882352941176471) internal successors, (100), 18 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,765 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 60 transitions. [2022-02-20 23:49:51,765 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 7 states and 60 transitions. [2022-02-20 23:49:51,827 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:51,830 INFO L225 Difference]: With dead ends: 146 [2022-02-20 23:49:51,830 INFO L226 Difference]: Without dead ends: 146 [2022-02-20 23:49:51,830 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 107 GetRequests, 88 SyntacticMatches, 0 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 105 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=119, Invalid=301, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:49:51,831 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 106 mSDsluCounter, 82 mSDsCounter, 0 mSdLazyCounter, 144 mSolverCounterSat, 25 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 106 SdHoareTripleChecker+Valid, 101 SdHoareTripleChecker+Invalid, 169 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 25 IncrementalHoareTripleChecker+Valid, 144 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:51,831 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [106 Valid, 101 Invalid, 169 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [25 Valid, 144 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:49:51,831 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 146 states. [2022-02-20 23:49:51,835 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 146 to 144. [2022-02-20 23:49:51,835 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:51,835 INFO L82 GeneralOperation]: Start isEquivalent. First operand 146 states. Second operand has 144 states, 139 states have (on average 1.129496402877698) internal successors, (157), 143 states have internal predecessors, (157), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,836 INFO L74 IsIncluded]: Start isIncluded. First operand 146 states. Second operand has 144 states, 139 states have (on average 1.129496402877698) internal successors, (157), 143 states have internal predecessors, (157), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,836 INFO L87 Difference]: Start difference. First operand 146 states. Second operand has 144 states, 139 states have (on average 1.129496402877698) internal successors, (157), 143 states have internal predecessors, (157), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,838 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:51,838 INFO L93 Difference]: Finished difference Result 146 states and 159 transitions. [2022-02-20 23:49:51,839 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 159 transitions. [2022-02-20 23:49:51,839 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:51,839 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:51,839 INFO L74 IsIncluded]: Start isIncluded. First operand has 144 states, 139 states have (on average 1.129496402877698) internal successors, (157), 143 states have internal predecessors, (157), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 146 states. [2022-02-20 23:49:51,840 INFO L87 Difference]: Start difference. First operand has 144 states, 139 states have (on average 1.129496402877698) internal successors, (157), 143 states have internal predecessors, (157), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 146 states. [2022-02-20 23:49:51,842 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:51,842 INFO L93 Difference]: Finished difference Result 146 states and 159 transitions. [2022-02-20 23:49:51,842 INFO L276 IsEmpty]: Start isEmpty. Operand 146 states and 159 transitions. [2022-02-20 23:49:51,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:51,843 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:51,843 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:51,843 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:51,843 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 144 states, 139 states have (on average 1.129496402877698) internal successors, (157), 143 states have internal predecessors, (157), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,849 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 144 states to 144 states and 157 transitions. [2022-02-20 23:49:51,849 INFO L78 Accepts]: Start accepts. Automaton has 144 states and 157 transitions. Word has length 49 [2022-02-20 23:49:51,850 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:51,850 INFO L470 AbstractCegarLoop]: Abstraction has 144 states and 157 transitions. [2022-02-20 23:49:51,850 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 18 states, 17 states have (on average 5.882352941176471) internal successors, (100), 18 states have internal predecessors, (100), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:51,850 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 157 transitions. [2022-02-20 23:49:51,851 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 54 [2022-02-20 23:49:51,851 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:51,851 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1] [2022-02-20 23:49:51,877 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:49:52,067 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,SelfDestructingSolverStorable17 [2022-02-20 23:49:52,067 INFO L402 AbstractCegarLoop]: === Iteration 19 === Targeting ULTIMATE.startErr6REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:52,068 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:52,068 INFO L85 PathProgramCache]: Analyzing trace with hash -1256352513, now seen corresponding path program 3 times [2022-02-20 23:49:52,068 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:52,068 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [635849980] [2022-02-20 23:49:52,068 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:52,068 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:52,099 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:52,189 INFO L290 TraceCheckUtils]: 0: Hoare triple {7873#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7873#true} is VALID [2022-02-20 23:49:52,190 INFO L290 TraceCheckUtils]: 1: Hoare triple {7873#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,191 INFO L290 TraceCheckUtils]: 2: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,192 INFO L290 TraceCheckUtils]: 3: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,192 INFO L290 TraceCheckUtils]: 4: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,193 INFO L290 TraceCheckUtils]: 5: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,193 INFO L290 TraceCheckUtils]: 6: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,194 INFO L290 TraceCheckUtils]: 7: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,194 INFO L290 TraceCheckUtils]: 8: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,195 INFO L290 TraceCheckUtils]: 9: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,195 INFO L290 TraceCheckUtils]: 10: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,196 INFO L290 TraceCheckUtils]: 11: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,196 INFO L290 TraceCheckUtils]: 12: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,197 INFO L290 TraceCheckUtils]: 13: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !(foo_~i~0#1 <= foo_~size#1); {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,197 INFO L290 TraceCheckUtils]: 14: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_#res#1 := foo_~i~0#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,198 INFO L290 TraceCheckUtils]: 15: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,199 INFO L290 TraceCheckUtils]: 16: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,200 INFO L290 TraceCheckUtils]: 17: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} havoc main_#t~ret3#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,200 INFO L290 TraceCheckUtils]: 18: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,201 INFO L290 TraceCheckUtils]: 19: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,201 INFO L290 TraceCheckUtils]: 20: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,201 INFO L290 TraceCheckUtils]: 21: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,202 INFO L290 TraceCheckUtils]: 22: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,202 INFO L290 TraceCheckUtils]: 23: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,203 INFO L290 TraceCheckUtils]: 24: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,203 INFO L290 TraceCheckUtils]: 25: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,203 INFO L290 TraceCheckUtils]: 26: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,204 INFO L290 TraceCheckUtils]: 27: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,205 INFO L290 TraceCheckUtils]: 28: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,205 INFO L290 TraceCheckUtils]: 29: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,206 INFO L290 TraceCheckUtils]: 30: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,206 INFO L290 TraceCheckUtils]: 31: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,207 INFO L290 TraceCheckUtils]: 32: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,207 INFO L290 TraceCheckUtils]: 33: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,207 INFO L290 TraceCheckUtils]: 34: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,208 INFO L290 TraceCheckUtils]: 35: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !(foo_~i~0#1 <= foo_~size#1); {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,208 INFO L290 TraceCheckUtils]: 36: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} foo_#res#1 := foo_~i~0#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,208 INFO L290 TraceCheckUtils]: 37: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,209 INFO L290 TraceCheckUtils]: 38: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,209 INFO L290 TraceCheckUtils]: 39: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} havoc main_#t~ret3#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,210 INFO L290 TraceCheckUtils]: 40: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,210 INFO L290 TraceCheckUtils]: 41: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} assume !(main_~i~1#1 % 4294967296 < 32); {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} is VALID [2022-02-20 23:49:52,210 INFO L290 TraceCheckUtils]: 42: Hoare triple {7875#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0))} main_~i~1#1 := 0; {7876#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:52,211 INFO L290 TraceCheckUtils]: 43: Hoare triple {7876#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 % 4294967296 < 32); {7876#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:52,211 INFO L290 TraceCheckUtils]: 44: Hoare triple {7876#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {7876#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:52,212 INFO L290 TraceCheckUtils]: 45: Hoare triple {7876#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {7876#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:52,213 INFO L290 TraceCheckUtils]: 46: Hoare triple {7876#(and (<= 32 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7877#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:52,214 INFO L290 TraceCheckUtils]: 47: Hoare triple {7877#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 % 4294967296 < 32); {7877#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:52,214 INFO L290 TraceCheckUtils]: 48: Hoare triple {7877#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {7877#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:52,215 INFO L290 TraceCheckUtils]: 49: Hoare triple {7877#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {7877#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:52,215 INFO L290 TraceCheckUtils]: 50: Hoare triple {7877#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 28) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|))} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7878#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 24) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:52,216 INFO L290 TraceCheckUtils]: 51: Hoare triple {7878#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 24) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 % 4294967296 < 32); {7878#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 24) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:52,216 INFO L290 TraceCheckUtils]: 52: Hoare triple {7878#(and (<= (+ (* |ULTIMATE.start_main_~i~1#1| 4) 24) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 |ULTIMATE.start_main_~i~1#1|))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {7874#false} is VALID [2022-02-20 23:49:52,217 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-02-20 23:49:52,217 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:52,217 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [635849980] [2022-02-20 23:49:52,217 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [635849980] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:52,217 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [400479593] [2022-02-20 23:49:52,218 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:49:52,218 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:52,218 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:52,221 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:49:52,222 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:49:52,290 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 2 check-sat command(s) [2022-02-20 23:49:52,290 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:49:52,291 INFO L263 TraceCheckSpWp]: Trace formula consists of 85 conjuncts, 26 conjunts are in the unsatisfiable core [2022-02-20 23:49:52,305 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:52,306 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:52,332 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:49:52,333 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 9 treesize of output 11 [2022-02-20 23:49:52,340 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-02-20 23:49:52,864 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 11 treesize of output 3 [2022-02-20 23:49:52,964 INFO L290 TraceCheckUtils]: 0: Hoare triple {7873#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {7873#true} is VALID [2022-02-20 23:49:52,965 INFO L290 TraceCheckUtils]: 1: Hoare triple {7873#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,966 INFO L290 TraceCheckUtils]: 2: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,966 INFO L290 TraceCheckUtils]: 3: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,967 INFO L290 TraceCheckUtils]: 4: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,967 INFO L290 TraceCheckUtils]: 5: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,968 INFO L290 TraceCheckUtils]: 6: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,968 INFO L290 TraceCheckUtils]: 7: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,969 INFO L290 TraceCheckUtils]: 8: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,969 INFO L290 TraceCheckUtils]: 9: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,970 INFO L290 TraceCheckUtils]: 10: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,970 INFO L290 TraceCheckUtils]: 11: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,971 INFO L290 TraceCheckUtils]: 12: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,971 INFO L290 TraceCheckUtils]: 13: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,971 INFO L290 TraceCheckUtils]: 14: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,972 INFO L290 TraceCheckUtils]: 15: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,972 INFO L290 TraceCheckUtils]: 16: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,973 INFO L290 TraceCheckUtils]: 17: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} havoc main_#t~ret3#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,973 INFO L290 TraceCheckUtils]: 18: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,974 INFO L290 TraceCheckUtils]: 19: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,974 INFO L290 TraceCheckUtils]: 20: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,975 INFO L290 TraceCheckUtils]: 21: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,975 INFO L290 TraceCheckUtils]: 22: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,976 INFO L290 TraceCheckUtils]: 23: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,976 INFO L290 TraceCheckUtils]: 24: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,977 INFO L290 TraceCheckUtils]: 26: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,978 INFO L290 TraceCheckUtils]: 27: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,978 INFO L290 TraceCheckUtils]: 28: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,979 INFO L290 TraceCheckUtils]: 29: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,979 INFO L290 TraceCheckUtils]: 30: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,980 INFO L290 TraceCheckUtils]: 31: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,980 INFO L290 TraceCheckUtils]: 32: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,981 INFO L290 TraceCheckUtils]: 33: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,981 INFO L290 TraceCheckUtils]: 34: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,981 INFO L290 TraceCheckUtils]: 35: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,982 INFO L290 TraceCheckUtils]: 36: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,982 INFO L290 TraceCheckUtils]: 37: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,983 INFO L290 TraceCheckUtils]: 38: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {7997#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,984 INFO L290 TraceCheckUtils]: 39: Hoare triple {7997#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} havoc main_#t~ret3#1; {7997#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,984 INFO L290 TraceCheckUtils]: 40: Hoare triple {7997#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {8004#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 4 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} is VALID [2022-02-20 23:49:52,985 INFO L290 TraceCheckUtils]: 41: Hoare triple {8004#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 4 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} assume !(main_~i~1#1 % 4294967296 < 32); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,985 INFO L290 TraceCheckUtils]: 42: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_~i~1#1 := 0; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,986 INFO L290 TraceCheckUtils]: 43: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,986 INFO L290 TraceCheckUtils]: 44: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,987 INFO L290 TraceCheckUtils]: 45: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,987 INFO L290 TraceCheckUtils]: 46: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,988 INFO L290 TraceCheckUtils]: 47: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32); {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,988 INFO L290 TraceCheckUtils]: 48: Hoare triple {7885#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {7997#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,989 INFO L290 TraceCheckUtils]: 49: Hoare triple {7997#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {7997#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} is VALID [2022-02-20 23:49:52,989 INFO L290 TraceCheckUtils]: 50: Hoare triple {7997#(and (<= 0 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4) 4) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)))} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {8004#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 4 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} is VALID [2022-02-20 23:49:52,990 INFO L290 TraceCheckUtils]: 51: Hoare triple {8004#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 4 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} assume !!(main_~i~1#1 % 4294967296 < 32); {8038#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 4 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (< (mod |ULTIMATE.start_main_~i~1#1| 4294967296) 32))} is VALID [2022-02-20 23:49:52,991 INFO L290 TraceCheckUtils]: 52: Hoare triple {8038#(and (<= (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= 128 (select |#length| |ULTIMATE.start_main_~#b~0#1.base|)) (<= 4 (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))) (< (mod |ULTIMATE.start_main_~i~1#1| 4294967296) 32))} assume !(4 + (main_~#b~0#1.offset + 4 * main_~i~1#1) <= #length[main_~#b~0#1.base] && 0 <= main_~#b~0#1.offset + 4 * main_~i~1#1); {7874#false} is VALID [2022-02-20 23:49:52,991 INFO L134 CoverageAnalysis]: Checked inductivity of 77 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 67 trivial. 0 not checked. [2022-02-20 23:49:52,991 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-02-20 23:49:52,992 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [400479593] provided 1 perfect and 0 imperfect interpolant sequences [2022-02-20 23:49:52,992 INFO L191 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-02-20 23:49:52,992 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [5] total 9 [2022-02-20 23:49:52,992 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1525795181] [2022-02-20 23:49:52,992 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-02-20 23:49:52,993 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.6) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 53 [2022-02-20 23:49:52,994 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:52,994 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 6 states, 5 states have (on average 5.6) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,015 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:49:53,015 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-02-20 23:49:53,015 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:53,016 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-02-20 23:49:53,016 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:49:53,016 INFO L87 Difference]: Start difference. First operand 144 states and 157 transitions. Second operand has 6 states, 5 states have (on average 5.6) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,145 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:53,146 INFO L93 Difference]: Finished difference Result 142 states and 155 transitions. [2022-02-20 23:49:53,146 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-02-20 23:49:53,146 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 5 states have (on average 5.6) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 53 [2022-02-20 23:49:53,146 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:49:53,146 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.6) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 23:49:53,147 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 5 states have (on average 5.6) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,147 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 43 transitions. [2022-02-20 23:49:53,147 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 5 states and 43 transitions. [2022-02-20 23:49:53,193 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:49:53,194 INFO L225 Difference]: With dead ends: 142 [2022-02-20 23:49:53,194 INFO L226 Difference]: Without dead ends: 142 [2022-02-20 23:49:53,195 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 50 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 0 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=61, Unknown=0, NotChecked=0, Total=90 [2022-02-20 23:49:53,195 INFO L933 BasicCegarLoop]: 21 mSDtfsCounter, 29 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 45 mSolverCounterSat, 6 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 29 SdHoareTripleChecker+Valid, 43 SdHoareTripleChecker+Invalid, 51 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 6 IncrementalHoareTripleChecker+Valid, 45 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-02-20 23:49:53,195 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [29 Valid, 43 Invalid, 51 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [6 Valid, 45 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-02-20 23:49:53,196 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 142 states. [2022-02-20 23:49:53,197 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 142 to 80. [2022-02-20 23:49:53,197 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:49:53,197 INFO L82 GeneralOperation]: Start isEquivalent. First operand 142 states. Second operand has 80 states, 77 states have (on average 1.077922077922078) internal successors, (83), 79 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,197 INFO L74 IsIncluded]: Start isIncluded. First operand 142 states. Second operand has 80 states, 77 states have (on average 1.077922077922078) internal successors, (83), 79 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,197 INFO L87 Difference]: Start difference. First operand 142 states. Second operand has 80 states, 77 states have (on average 1.077922077922078) internal successors, (83), 79 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,200 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:53,200 INFO L93 Difference]: Finished difference Result 142 states and 155 transitions. [2022-02-20 23:49:53,200 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 155 transitions. [2022-02-20 23:49:53,201 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:53,201 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:53,201 INFO L74 IsIncluded]: Start isIncluded. First operand has 80 states, 77 states have (on average 1.077922077922078) internal successors, (83), 79 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 142 states. [2022-02-20 23:49:53,201 INFO L87 Difference]: Start difference. First operand has 80 states, 77 states have (on average 1.077922077922078) internal successors, (83), 79 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 142 states. [2022-02-20 23:49:53,203 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:49:53,203 INFO L93 Difference]: Finished difference Result 142 states and 155 transitions. [2022-02-20 23:49:53,204 INFO L276 IsEmpty]: Start isEmpty. Operand 142 states and 155 transitions. [2022-02-20 23:49:53,204 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:49:53,204 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:49:53,204 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:49:53,204 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:49:53,205 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 80 states, 77 states have (on average 1.077922077922078) internal successors, (83), 79 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,206 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 80 states to 80 states and 83 transitions. [2022-02-20 23:49:53,206 INFO L78 Accepts]: Start accepts. Automaton has 80 states and 83 transitions. Word has length 53 [2022-02-20 23:49:53,206 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:49:53,206 INFO L470 AbstractCegarLoop]: Abstraction has 80 states and 83 transitions. [2022-02-20 23:49:53,206 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 5 states have (on average 5.6) internal successors, (28), 6 states have internal predecessors, (28), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:53,206 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 83 transitions. [2022-02-20 23:49:53,207 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 55 [2022-02-20 23:49:53,207 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:49:53,207 INFO L514 BasicCegarLoop]: trace histogram [5, 5, 5, 5, 5, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1] [2022-02-20 23:49:53,234 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:49:53,433 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable18,13 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:53,434 INFO L402 AbstractCegarLoop]: === Iteration 20 === Targeting ULTIMATE.startErr7ASSERT_VIOLATIONMEMORY_LEAK === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:49:53,434 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:49:53,434 INFO L85 PathProgramCache]: Analyzing trace with hash -292223690, now seen corresponding path program 1 times [2022-02-20 23:49:53,434 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:49:53,434 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [550398000] [2022-02-20 23:49:53,434 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:53,435 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:49:53,463 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:53,508 INFO L290 TraceCheckUtils]: 0: Hoare triple {8547#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8547#true} is VALID [2022-02-20 23:49:53,509 INFO L290 TraceCheckUtils]: 1: Hoare triple {8547#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {8547#true} is VALID [2022-02-20 23:49:53,509 INFO L290 TraceCheckUtils]: 2: Hoare triple {8547#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {8547#true} is VALID [2022-02-20 23:49:53,509 INFO L290 TraceCheckUtils]: 3: Hoare triple {8547#true} assume !!(foo_~i~0#1 <= foo_~size#1); {8547#true} is VALID [2022-02-20 23:49:53,509 INFO L290 TraceCheckUtils]: 4: Hoare triple {8547#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8547#true} is VALID [2022-02-20 23:49:53,509 INFO L290 TraceCheckUtils]: 5: Hoare triple {8547#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8547#true} is VALID [2022-02-20 23:49:53,510 INFO L290 TraceCheckUtils]: 6: Hoare triple {8547#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8547#true} is VALID [2022-02-20 23:49:53,510 INFO L290 TraceCheckUtils]: 7: Hoare triple {8547#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8547#true} is VALID [2022-02-20 23:49:53,510 INFO L290 TraceCheckUtils]: 8: Hoare triple {8547#true} assume !!(foo_~i~0#1 <= foo_~size#1); {8547#true} is VALID [2022-02-20 23:49:53,510 INFO L290 TraceCheckUtils]: 9: Hoare triple {8547#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8547#true} is VALID [2022-02-20 23:49:53,510 INFO L290 TraceCheckUtils]: 10: Hoare triple {8547#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8547#true} is VALID [2022-02-20 23:49:53,510 INFO L290 TraceCheckUtils]: 11: Hoare triple {8547#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8547#true} is VALID [2022-02-20 23:49:53,511 INFO L290 TraceCheckUtils]: 12: Hoare triple {8547#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8547#true} is VALID [2022-02-20 23:49:53,511 INFO L290 TraceCheckUtils]: 13: Hoare triple {8547#true} assume !(foo_~i~0#1 <= foo_~size#1); {8547#true} is VALID [2022-02-20 23:49:53,511 INFO L290 TraceCheckUtils]: 14: Hoare triple {8547#true} foo_#res#1 := foo_~i~0#1; {8547#true} is VALID [2022-02-20 23:49:53,511 INFO L290 TraceCheckUtils]: 15: Hoare triple {8547#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {8547#true} is VALID [2022-02-20 23:49:53,511 INFO L290 TraceCheckUtils]: 16: Hoare triple {8547#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {8547#true} is VALID [2022-02-20 23:49:53,511 INFO L290 TraceCheckUtils]: 17: Hoare triple {8547#true} havoc main_#t~ret3#1; {8547#true} is VALID [2022-02-20 23:49:53,511 INFO L290 TraceCheckUtils]: 18: Hoare triple {8547#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {8547#true} is VALID [2022-02-20 23:49:53,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {8547#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {8547#true} is VALID [2022-02-20 23:49:53,512 INFO L290 TraceCheckUtils]: 20: Hoare triple {8547#true} assume !!(foo_~i~0#1 <= foo_~size#1); {8547#true} is VALID [2022-02-20 23:49:53,512 INFO L290 TraceCheckUtils]: 21: Hoare triple {8547#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8547#true} is VALID [2022-02-20 23:49:53,512 INFO L290 TraceCheckUtils]: 22: Hoare triple {8547#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8547#true} is VALID [2022-02-20 23:49:53,512 INFO L290 TraceCheckUtils]: 23: Hoare triple {8547#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8547#true} is VALID [2022-02-20 23:49:53,512 INFO L290 TraceCheckUtils]: 24: Hoare triple {8547#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8547#true} is VALID [2022-02-20 23:49:53,513 INFO L290 TraceCheckUtils]: 25: Hoare triple {8547#true} assume !!(foo_~i~0#1 <= foo_~size#1); {8547#true} is VALID [2022-02-20 23:49:53,513 INFO L290 TraceCheckUtils]: 26: Hoare triple {8547#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8547#true} is VALID [2022-02-20 23:49:53,513 INFO L290 TraceCheckUtils]: 27: Hoare triple {8547#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8547#true} is VALID [2022-02-20 23:49:53,513 INFO L290 TraceCheckUtils]: 28: Hoare triple {8547#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8547#true} is VALID [2022-02-20 23:49:53,513 INFO L290 TraceCheckUtils]: 29: Hoare triple {8547#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8547#true} is VALID [2022-02-20 23:49:53,513 INFO L290 TraceCheckUtils]: 30: Hoare triple {8547#true} assume !!(foo_~i~0#1 <= foo_~size#1); {8547#true} is VALID [2022-02-20 23:49:53,513 INFO L290 TraceCheckUtils]: 31: Hoare triple {8547#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8547#true} is VALID [2022-02-20 23:49:53,514 INFO L290 TraceCheckUtils]: 32: Hoare triple {8547#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8547#true} is VALID [2022-02-20 23:49:53,514 INFO L290 TraceCheckUtils]: 33: Hoare triple {8547#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8547#true} is VALID [2022-02-20 23:49:53,514 INFO L290 TraceCheckUtils]: 34: Hoare triple {8547#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8547#true} is VALID [2022-02-20 23:49:53,514 INFO L290 TraceCheckUtils]: 35: Hoare triple {8547#true} assume !(foo_~i~0#1 <= foo_~size#1); {8547#true} is VALID [2022-02-20 23:49:53,514 INFO L290 TraceCheckUtils]: 36: Hoare triple {8547#true} foo_#res#1 := foo_~i~0#1; {8547#true} is VALID [2022-02-20 23:49:53,514 INFO L290 TraceCheckUtils]: 37: Hoare triple {8547#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {8547#true} is VALID [2022-02-20 23:49:53,514 INFO L290 TraceCheckUtils]: 38: Hoare triple {8547#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {8547#true} is VALID [2022-02-20 23:49:53,515 INFO L290 TraceCheckUtils]: 39: Hoare triple {8547#true} havoc main_#t~ret3#1; {8547#true} is VALID [2022-02-20 23:49:53,515 INFO L290 TraceCheckUtils]: 40: Hoare triple {8547#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {8547#true} is VALID [2022-02-20 23:49:53,515 INFO L290 TraceCheckUtils]: 41: Hoare triple {8547#true} assume !(main_~i~1#1 % 4294967296 < 32); {8547#true} is VALID [2022-02-20 23:49:53,515 INFO L290 TraceCheckUtils]: 42: Hoare triple {8547#true} main_~i~1#1 := 0; {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:53,516 INFO L290 TraceCheckUtils]: 43: Hoare triple {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32); {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:53,516 INFO L290 TraceCheckUtils]: 44: Hoare triple {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:53,516 INFO L290 TraceCheckUtils]: 45: Hoare triple {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:53,517 INFO L290 TraceCheckUtils]: 46: Hoare triple {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {8550#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:53,517 INFO L290 TraceCheckUtils]: 47: Hoare triple {8550#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(main_~i~1#1 % 4294967296 < 32); {8550#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:53,518 INFO L290 TraceCheckUtils]: 48: Hoare triple {8550#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {8550#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:53,518 INFO L290 TraceCheckUtils]: 49: Hoare triple {8550#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {8550#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:49:53,519 INFO L290 TraceCheckUtils]: 50: Hoare triple {8550#(and (<= |ULTIMATE.start_main_~i~1#1| 1) (<= 1 |ULTIMATE.start_main_~i~1#1|))} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {8551#(and (<= |ULTIMATE.start_main_~i~1#1| 2) (not (<= (+ (div |ULTIMATE.start_main_~i~1#1| 4294967296) 1) 0)))} is VALID [2022-02-20 23:49:53,520 INFO L290 TraceCheckUtils]: 51: Hoare triple {8551#(and (<= |ULTIMATE.start_main_~i~1#1| 2) (not (<= (+ (div |ULTIMATE.start_main_~i~1#1| 4294967296) 1) 0)))} assume !(main_~i~1#1 % 4294967296 < 32); {8548#false} is VALID [2022-02-20 23:49:53,520 INFO L290 TraceCheckUtils]: 52: Hoare triple {8548#false} main_#res#1 := 0;call ULTIMATE.dealloc(main_~#b~0#1.base, main_~#b~0#1.offset);havoc main_~#b~0#1.base, main_~#b~0#1.offset;call ULTIMATE.dealloc(main_~#mask~0#1.base, main_~#mask~0#1.offset);havoc main_~#mask~0#1.base, main_~#mask~0#1.offset; {8548#false} is VALID [2022-02-20 23:49:53,520 INFO L290 TraceCheckUtils]: 53: Hoare triple {8548#false} assume !(#valid == main_old_#valid#1); {8548#false} is VALID [2022-02-20 23:49:53,520 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 69 trivial. 0 not checked. [2022-02-20 23:49:53,520 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:49:53,521 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [550398000] [2022-02-20 23:49:53,521 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [550398000] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:49:53,521 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [207281579] [2022-02-20 23:49:53,521 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:49:53,521 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:49:53,521 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:49:53,523 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:49:53,550 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:49:53,614 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:53,616 INFO L263 TraceCheckSpWp]: Trace formula consists of 206 conjuncts, 19 conjunts are in the unsatisfiable core [2022-02-20 23:49:53,630 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:49:53,633 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:49:53,958 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 11 [2022-02-20 23:49:54,274 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-02-20 23:49:54,275 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 23 treesize of output 22 [2022-02-20 23:49:54,371 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:49:54,414 INFO L290 TraceCheckUtils]: 0: Hoare triple {8547#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8547#true} is VALID [2022-02-20 23:49:54,415 INFO L290 TraceCheckUtils]: 1: Hoare triple {8547#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {8558#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:54,416 INFO L290 TraceCheckUtils]: 2: Hoare triple {8558#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,417 INFO L290 TraceCheckUtils]: 3: Hoare triple {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,417 INFO L290 TraceCheckUtils]: 4: Hoare triple {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,418 INFO L290 TraceCheckUtils]: 5: Hoare triple {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,418 INFO L290 TraceCheckUtils]: 6: Hoare triple {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,419 INFO L290 TraceCheckUtils]: 7: Hoare triple {8562#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,419 INFO L290 TraceCheckUtils]: 8: Hoare triple {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,420 INFO L290 TraceCheckUtils]: 9: Hoare triple {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,420 INFO L290 TraceCheckUtils]: 10: Hoare triple {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,421 INFO L290 TraceCheckUtils]: 11: Hoare triple {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,421 INFO L290 TraceCheckUtils]: 12: Hoare triple {8578#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8594#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {8594#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {8594#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:49:54,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {8594#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_#res#1 := foo_~i~0#1; {8601#(and (<= 2 |ULTIMATE.start_foo_#res#1|) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:54,423 INFO L290 TraceCheckUtils]: 15: Hoare triple {8601#(and (<= 2 |ULTIMATE.start_foo_#res#1|) (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {8605#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_main_#t~ret3#1|))} is VALID [2022-02-20 23:49:54,423 INFO L290 TraceCheckUtils]: 16: Hoare triple {8605#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 |ULTIMATE.start_main_#t~ret3#1|))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {8609#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)))))} is VALID [2022-02-20 23:49:54,424 INFO L290 TraceCheckUtils]: 17: Hoare triple {8609#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)))))} havoc main_#t~ret3#1; {8609#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)))))} is VALID [2022-02-20 23:49:54,424 INFO L290 TraceCheckUtils]: 18: Hoare triple {8609#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)))))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,425 INFO L290 TraceCheckUtils]: 19: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,425 INFO L290 TraceCheckUtils]: 20: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,426 INFO L290 TraceCheckUtils]: 21: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,426 INFO L290 TraceCheckUtils]: 22: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,427 INFO L290 TraceCheckUtils]: 23: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,427 INFO L290 TraceCheckUtils]: 24: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,428 INFO L290 TraceCheckUtils]: 25: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,428 INFO L290 TraceCheckUtils]: 26: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,429 INFO L290 TraceCheckUtils]: 27: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,430 INFO L290 TraceCheckUtils]: 28: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,430 INFO L290 TraceCheckUtils]: 29: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,430 INFO L290 TraceCheckUtils]: 30: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,431 INFO L290 TraceCheckUtils]: 31: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,432 INFO L290 TraceCheckUtils]: 32: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,432 INFO L290 TraceCheckUtils]: 33: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,433 INFO L290 TraceCheckUtils]: 34: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,433 INFO L290 TraceCheckUtils]: 35: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !(foo_~i~0#1 <= foo_~size#1); {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,433 INFO L290 TraceCheckUtils]: 36: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_#res#1 := foo_~i~0#1; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,434 INFO L290 TraceCheckUtils]: 37: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,435 INFO L290 TraceCheckUtils]: 38: Hoare triple {8616#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 1 |ULTIMATE.start_main_~i~1#1|) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {8677#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,435 INFO L290 TraceCheckUtils]: 39: Hoare triple {8677#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} havoc main_#t~ret3#1; {8677#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,436 INFO L290 TraceCheckUtils]: 40: Hoare triple {8677#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {8677#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,436 INFO L290 TraceCheckUtils]: 41: Hoare triple {8677#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !(main_~i~1#1 % 4294967296 < 32); {8677#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:54,437 INFO L290 TraceCheckUtils]: 42: Hoare triple {8677#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|)))} main_~i~1#1 := 0; {8609#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)))))} is VALID [2022-02-20 23:49:54,437 INFO L290 TraceCheckUtils]: 43: Hoare triple {8609#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)))))} assume !!(main_~i~1#1 % 4294967296 < 32); {8609#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)))))} is VALID [2022-02-20 23:49:54,438 INFO L290 TraceCheckUtils]: 44: Hoare triple {8609#(and (= |ULTIMATE.start_main_~#b~0#1.offset| 0) (= |ULTIMATE.start_main_~i~1#1| 0) (<= 2 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)))))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {8696#(and (<= 2 |ULTIMATE.start_main_#t~mem5#1|) (= |ULTIMATE.start_main_~i~1#1| 0))} is VALID [2022-02-20 23:49:54,438 INFO L290 TraceCheckUtils]: 45: Hoare triple {8696#(and (<= 2 |ULTIMATE.start_main_#t~mem5#1|) (= |ULTIMATE.start_main_~i~1#1| 0))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {8548#false} is VALID [2022-02-20 23:49:54,438 INFO L290 TraceCheckUtils]: 46: Hoare triple {8548#false} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {8548#false} is VALID [2022-02-20 23:49:54,439 INFO L290 TraceCheckUtils]: 47: Hoare triple {8548#false} assume !!(main_~i~1#1 % 4294967296 < 32); {8548#false} is VALID [2022-02-20 23:49:54,439 INFO L290 TraceCheckUtils]: 48: Hoare triple {8548#false} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {8548#false} is VALID [2022-02-20 23:49:54,439 INFO L290 TraceCheckUtils]: 49: Hoare triple {8548#false} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {8548#false} is VALID [2022-02-20 23:49:54,439 INFO L290 TraceCheckUtils]: 50: Hoare triple {8548#false} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {8548#false} is VALID [2022-02-20 23:49:54,439 INFO L290 TraceCheckUtils]: 51: Hoare triple {8548#false} assume !(main_~i~1#1 % 4294967296 < 32); {8548#false} is VALID [2022-02-20 23:49:54,439 INFO L290 TraceCheckUtils]: 52: Hoare triple {8548#false} main_#res#1 := 0;call ULTIMATE.dealloc(main_~#b~0#1.base, main_~#b~0#1.offset);havoc main_~#b~0#1.base, main_~#b~0#1.offset;call ULTIMATE.dealloc(main_~#mask~0#1.base, main_~#mask~0#1.offset);havoc main_~#mask~0#1.base, main_~#mask~0#1.offset; {8548#false} is VALID [2022-02-20 23:49:54,440 INFO L290 TraceCheckUtils]: 53: Hoare triple {8548#false} assume !(#valid == main_old_#valid#1); {8548#false} is VALID [2022-02-20 23:49:54,440 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 11 proven. 44 refuted. 0 times theorem prover too weak. 20 trivial. 0 not checked. [2022-02-20 23:49:54,440 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:49:56,960 WARN L838 $PredicateComparison]: unable to prove that (forall ((|v_ULTIMATE.start_main_~i~1#1_51| Int)) (or (not (<= (+ |c_ULTIMATE.start_main_~i~1#1| 1) |v_ULTIMATE.start_main_~i~1#1_51|)) (forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |c_#memory_int| |c_ULTIMATE.start_main_~#b~0#1.base|) (+ |c_ULTIMATE.start_main_~#b~0#1.offset| (* |v_ULTIMATE.start_main_~i~1#1_51| 4)) v_ArrVal_332) |c_ULTIMATE.start_main_~#b~0#1.offset|))))) is different from false [2022-02-20 23:49:57,246 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 21 treesize of output 19 [2022-02-20 23:49:57,281 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 68 treesize of output 66 [2022-02-20 23:49:57,720 INFO L290 TraceCheckUtils]: 53: Hoare triple {8548#false} assume !(#valid == main_old_#valid#1); {8548#false} is VALID [2022-02-20 23:49:57,720 INFO L290 TraceCheckUtils]: 52: Hoare triple {8548#false} main_#res#1 := 0;call ULTIMATE.dealloc(main_~#b~0#1.base, main_~#b~0#1.offset);havoc main_~#b~0#1.base, main_~#b~0#1.offset;call ULTIMATE.dealloc(main_~#mask~0#1.base, main_~#mask~0#1.offset);havoc main_~#mask~0#1.base, main_~#mask~0#1.offset; {8548#false} is VALID [2022-02-20 23:49:57,720 INFO L290 TraceCheckUtils]: 51: Hoare triple {8548#false} assume !(main_~i~1#1 % 4294967296 < 32); {8548#false} is VALID [2022-02-20 23:49:57,720 INFO L290 TraceCheckUtils]: 50: Hoare triple {8548#false} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {8548#false} is VALID [2022-02-20 23:49:57,720 INFO L290 TraceCheckUtils]: 49: Hoare triple {8548#false} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {8548#false} is VALID [2022-02-20 23:49:57,721 INFO L290 TraceCheckUtils]: 48: Hoare triple {8548#false} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {8548#false} is VALID [2022-02-20 23:49:57,721 INFO L290 TraceCheckUtils]: 47: Hoare triple {8548#false} assume !!(main_~i~1#1 % 4294967296 < 32); {8548#false} is VALID [2022-02-20 23:49:57,721 INFO L290 TraceCheckUtils]: 46: Hoare triple {8548#false} main_#t~post4#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post4#1;havoc main_#t~post4#1; {8548#false} is VALID [2022-02-20 23:49:57,722 INFO L290 TraceCheckUtils]: 45: Hoare triple {8748#(not (<= |ULTIMATE.start_main_#t~mem5#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} assume !(main_#t~mem5#1 != 1 + main_~i~1#1);havoc main_#t~mem5#1; {8548#false} is VALID [2022-02-20 23:49:57,722 INFO L290 TraceCheckUtils]: 44: Hoare triple {8752#(< (+ |ULTIMATE.start_main_~i~1#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} SUMMARY for call main_#t~mem5#1 := read~int(main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L30 {8748#(not (<= |ULTIMATE.start_main_#t~mem5#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:49:57,723 INFO L290 TraceCheckUtils]: 43: Hoare triple {8752#(< (+ |ULTIMATE.start_main_~i~1#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} assume !!(main_~i~1#1 % 4294967296 < 32); {8752#(< (+ |ULTIMATE.start_main_~i~1#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} is VALID [2022-02-20 23:49:57,723 INFO L290 TraceCheckUtils]: 42: Hoare triple {8759#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} main_~i~1#1 := 0; {8752#(< (+ |ULTIMATE.start_main_~i~1#1| 1) (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4))))} is VALID [2022-02-20 23:49:57,724 INFO L290 TraceCheckUtils]: 41: Hoare triple {8759#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} assume !(main_~i~1#1 % 4294967296 < 32); {8759#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:57,724 INFO L290 TraceCheckUtils]: 40: Hoare triple {8759#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {8759#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:57,725 INFO L290 TraceCheckUtils]: 39: Hoare triple {8759#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} havoc main_#t~ret3#1; {8759#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:57,726 INFO L290 TraceCheckUtils]: 38: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {8759#(< 1 (select (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) |ULTIMATE.start_main_~#b~0#1.offset|))} is VALID [2022-02-20 23:49:57,726 INFO L290 TraceCheckUtils]: 37: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,726 INFO L290 TraceCheckUtils]: 36: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_#res#1 := foo_~i~0#1; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,727 INFO L290 TraceCheckUtils]: 35: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !(foo_~i~0#1 <= foo_~size#1); {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,727 INFO L290 TraceCheckUtils]: 34: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,728 INFO L290 TraceCheckUtils]: 33: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,728 INFO L290 TraceCheckUtils]: 32: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,728 INFO L290 TraceCheckUtils]: 31: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,729 INFO L290 TraceCheckUtils]: 30: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,729 INFO L290 TraceCheckUtils]: 29: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,730 INFO L290 TraceCheckUtils]: 28: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,730 INFO L290 TraceCheckUtils]: 27: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,730 INFO L290 TraceCheckUtils]: 26: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,731 INFO L290 TraceCheckUtils]: 25: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,731 INFO L290 TraceCheckUtils]: 24: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,731 INFO L290 TraceCheckUtils]: 23: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,732 INFO L290 TraceCheckUtils]: 22: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,732 INFO L290 TraceCheckUtils]: 21: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,732 INFO L290 TraceCheckUtils]: 20: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,733 INFO L290 TraceCheckUtils]: 19: Hoare triple {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,734 INFO L290 TraceCheckUtils]: 18: Hoare triple {8833#(forall ((|v_ULTIMATE.start_main_~i~1#1_51| Int)) (or (not (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |v_ULTIMATE.start_main_~i~1#1_51|)) (forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |v_ULTIMATE.start_main_~i~1#1_51| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {8772#(forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |ULTIMATE.start_main_~i~1#1| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))} is VALID [2022-02-20 23:49:57,734 INFO L290 TraceCheckUtils]: 17: Hoare triple {8833#(forall ((|v_ULTIMATE.start_main_~i~1#1_51| Int)) (or (not (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |v_ULTIMATE.start_main_~i~1#1_51|)) (forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |v_ULTIMATE.start_main_~i~1#1_51| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))))} havoc main_#t~ret3#1; {8833#(forall ((|v_ULTIMATE.start_main_~i~1#1_51| Int)) (or (not (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |v_ULTIMATE.start_main_~i~1#1_51|)) (forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |v_ULTIMATE.start_main_~i~1#1_51| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))))} is VALID [2022-02-20 23:49:57,735 INFO L290 TraceCheckUtils]: 16: Hoare triple {8840#(and (< 1 |ULTIMATE.start_main_#t~ret3#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {8833#(forall ((|v_ULTIMATE.start_main_~i~1#1_51| Int)) (or (not (<= (+ |ULTIMATE.start_main_~i~1#1| 1) |v_ULTIMATE.start_main_~i~1#1_51|)) (forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |#memory_int| |ULTIMATE.start_main_~#b~0#1.base|) (+ |ULTIMATE.start_main_~#b~0#1.offset| (* |v_ULTIMATE.start_main_~i~1#1_51| 4)) v_ArrVal_332) |ULTIMATE.start_main_~#b~0#1.offset|)))))} is VALID [2022-02-20 23:49:57,736 INFO L290 TraceCheckUtils]: 15: Hoare triple {8844#(and (< 1 |ULTIMATE.start_foo_#res#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {8840#(and (< 1 |ULTIMATE.start_main_#t~ret3#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,736 INFO L290 TraceCheckUtils]: 14: Hoare triple {8848#(and (< 1 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_#res#1 := foo_~i~0#1; {8844#(and (< 1 |ULTIMATE.start_foo_#res#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,737 INFO L290 TraceCheckUtils]: 13: Hoare triple {8848#(and (< 1 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume !(foo_~i~0#1 <= foo_~size#1); {8848#(and (< 1 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,737 INFO L290 TraceCheckUtils]: 12: Hoare triple {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8848#(and (< 1 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,738 INFO L290 TraceCheckUtils]: 11: Hoare triple {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,738 INFO L290 TraceCheckUtils]: 10: Hoare triple {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,739 INFO L290 TraceCheckUtils]: 9: Hoare triple {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,739 INFO L290 TraceCheckUtils]: 8: Hoare triple {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,740 INFO L290 TraceCheckUtils]: 7: Hoare triple {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {8855#(and (< 0 |ULTIMATE.start_foo_~i~0#1|) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,740 INFO L290 TraceCheckUtils]: 6: Hoare triple {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,741 INFO L290 TraceCheckUtils]: 5: Hoare triple {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,741 INFO L290 TraceCheckUtils]: 4: Hoare triple {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,742 INFO L290 TraceCheckUtils]: 3: Hoare triple {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,742 INFO L290 TraceCheckUtils]: 2: Hoare triple {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {8871#(and (< 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (= (* |ULTIMATE.start_main_~i~1#1| 4) 0))} is VALID [2022-02-20 23:49:57,743 INFO L290 TraceCheckUtils]: 1: Hoare triple {8547#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {8549#(= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:49:57,743 INFO L290 TraceCheckUtils]: 0: Hoare triple {8547#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {8547#true} is VALID [2022-02-20 23:49:57,743 INFO L134 CoverageAnalysis]: Checked inductivity of 75 backedges. 11 proven. 42 refuted. 0 times theorem prover too weak. 20 trivial. 2 not checked. [2022-02-20 23:49:57,744 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [207281579] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:49:57,744 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:49:57,744 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [5, 12, 13] total 25 [2022-02-20 23:49:57,744 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [2100958450] [2022-02-20 23:49:57,744 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:49:57,745 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 4.08) internal successors, (102), 25 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 54 [2022-02-20 23:49:57,745 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:49:57,745 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 25 states, 25 states have (on average 4.08) internal successors, (102), 25 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:49:57,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:49:57,830 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 25 states [2022-02-20 23:49:57,831 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:49:57,831 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 25 interpolants. [2022-02-20 23:49:57,831 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=104, Invalid=451, Unknown=1, NotChecked=44, Total=600 [2022-02-20 23:49:57,831 INFO L87 Difference]: Start difference. First operand 80 states and 83 transitions. Second operand has 25 states, 25 states have (on average 4.08) internal successors, (102), 25 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:00,117 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((|v_ULTIMATE.start_main_~i~1#1_51| Int)) (or (not (<= (+ |c_ULTIMATE.start_main_~i~1#1| 1) |v_ULTIMATE.start_main_~i~1#1_51|)) (forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |c_#memory_int| |c_ULTIMATE.start_main_~#b~0#1.base|) (+ |c_ULTIMATE.start_main_~#b~0#1.offset| (* |v_ULTIMATE.start_main_~i~1#1_51| 4)) v_ArrVal_332) |c_ULTIMATE.start_main_~#b~0#1.offset|))))) (<= 2 (select (select |c_#memory_int| |c_ULTIMATE.start_main_~#b~0#1.base|) (+ |c_ULTIMATE.start_main_~#b~0#1.offset| (* |c_ULTIMATE.start_main_~i~1#1| 4)))) (<= 2 |c_ULTIMATE.start_main_#t~ret3#1|) (= |c_ULTIMATE.start_main_~#b~0#1.offset| 0) (<= 2 |c_ULTIMATE.start_foo_#res#1|) (= |c_ULTIMATE.start_main_~i~1#1| 0) (<= 2 |c_ULTIMATE.start_foo_~i~0#1|)) is different from false [2022-02-20 23:50:02,125 WARN L838 $PredicateComparison]: unable to prove that (and (forall ((|v_ULTIMATE.start_main_~i~1#1_51| Int)) (or (not (<= (+ |c_ULTIMATE.start_main_~i~1#1| 1) |v_ULTIMATE.start_main_~i~1#1_51|)) (forall ((v_ArrVal_332 Int)) (< 1 (select (store (select |c_#memory_int| |c_ULTIMATE.start_main_~#b~0#1.base|) (+ |c_ULTIMATE.start_main_~#b~0#1.offset| (* |v_ULTIMATE.start_main_~i~1#1_51| 4)) v_ArrVal_332) |c_ULTIMATE.start_main_~#b~0#1.offset|))))) (<= 2 (select (select |c_#memory_int| |c_ULTIMATE.start_main_~#b~0#1.base|) (+ |c_ULTIMATE.start_main_~#b~0#1.offset| (* |c_ULTIMATE.start_main_~i~1#1| 4)))) (= |c_ULTIMATE.start_main_~#b~0#1.offset| 0) (= |c_ULTIMATE.start_main_~i~1#1| 0)) is different from false [2022-02-20 23:50:02,262 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:02,262 INFO L93 Difference]: Finished difference Result 71 states and 73 transitions. [2022-02-20 23:50:02,263 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:50:02,263 INFO L78 Accepts]: Start accepts. Automaton has has 25 states, 25 states have (on average 4.08) internal successors, (102), 25 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 54 [2022-02-20 23:50:02,263 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:50:02,263 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 4.08) internal successors, (102), 25 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:02,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 38 transitions. [2022-02-20 23:50:02,265 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 25 states, 25 states have (on average 4.08) internal successors, (102), 25 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:02,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 38 transitions. [2022-02-20 23:50:02,265 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 38 transitions. [2022-02-20 23:50:02,301 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 38 edges. 38 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:02,302 INFO L225 Difference]: With dead ends: 71 [2022-02-20 23:50:02,302 INFO L226 Difference]: Without dead ends: 67 [2022-02-20 23:50:02,303 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 116 GetRequests, 86 SyntacticMatches, 2 SemanticMatches, 28 ConstructedPredicates, 3 IntricatePredicates, 0 DeprecatedPredicates, 197 ImplicationChecksByTransitivity, 6.3s TimeCoverageRelationStatistics Valid=148, Invalid=563, Unknown=3, NotChecked=156, Total=870 [2022-02-20 23:50:02,305 INFO L933 BasicCegarLoop]: 13 mSDtfsCounter, 53 mSDsluCounter, 51 mSDsCounter, 0 mSdLazyCounter, 223 mSolverCounterSat, 11 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 53 SdHoareTripleChecker+Valid, 64 SdHoareTripleChecker+Invalid, 288 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 11 IncrementalHoareTripleChecker+Valid, 223 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 54 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:50:02,306 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [53 Valid, 64 Invalid, 288 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [11 Valid, 223 Invalid, 0 Unknown, 54 Unchecked, 0.2s Time] [2022-02-20 23:50:02,310 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-02-20 23:50:02,311 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2022-02-20 23:50:02,313 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:50:02,313 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 67 states, 65 states have (on average 1.0615384615384615) internal successors, (69), 66 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:02,315 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 67 states, 65 states have (on average 1.0615384615384615) internal successors, (69), 66 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:02,315 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 67 states, 65 states have (on average 1.0615384615384615) internal successors, (69), 66 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:02,316 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:02,316 INFO L93 Difference]: Finished difference Result 67 states and 69 transitions. [2022-02-20 23:50:02,317 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 69 transitions. [2022-02-20 23:50:02,317 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:02,320 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:02,320 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 65 states have (on average 1.0615384615384615) internal successors, (69), 66 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 67 states. [2022-02-20 23:50:02,320 INFO L87 Difference]: Start difference. First operand has 67 states, 65 states have (on average 1.0615384615384615) internal successors, (69), 66 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 67 states. [2022-02-20 23:50:02,321 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:02,321 INFO L93 Difference]: Finished difference Result 67 states and 69 transitions. [2022-02-20 23:50:02,321 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 69 transitions. [2022-02-20 23:50:02,322 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:02,322 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:02,322 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:50:02,322 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:50:02,322 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 65 states have (on average 1.0615384615384615) internal successors, (69), 66 states have internal predecessors, (69), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:02,323 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 69 transitions. [2022-02-20 23:50:02,325 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 69 transitions. Word has length 54 [2022-02-20 23:50:02,325 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:50:02,325 INFO L470 AbstractCegarLoop]: Abstraction has 67 states and 69 transitions. [2022-02-20 23:50:02,325 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 25 states, 25 states have (on average 4.08) internal successors, (102), 25 states have internal predecessors, (102), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:02,325 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 69 transitions. [2022-02-20 23:50:02,326 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-02-20 23:50:02,326 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:50:02,326 INFO L514 BasicCegarLoop]: trace histogram [10, 9, 9, 9, 9, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1] [2022-02-20 23:50:02,353 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:50:02,550 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,SelfDestructingSolverStorable19 [2022-02-20 23:50:02,550 INFO L402 AbstractCegarLoop]: === Iteration 21 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:50:02,550 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:50:02,550 INFO L85 PathProgramCache]: Analyzing trace with hash 11435127, now seen corresponding path program 2 times [2022-02-20 23:50:02,551 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:50:02,551 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [984531331] [2022-02-20 23:50:02,551 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:50:02,551 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:50:02,597 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:02,747 INFO L290 TraceCheckUtils]: 0: Hoare triple {9174#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9174#true} is VALID [2022-02-20 23:50:02,747 INFO L290 TraceCheckUtils]: 1: Hoare triple {9174#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {9174#true} is VALID [2022-02-20 23:50:02,747 INFO L290 TraceCheckUtils]: 2: Hoare triple {9174#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9174#true} is VALID [2022-02-20 23:50:02,747 INFO L290 TraceCheckUtils]: 3: Hoare triple {9174#true} assume !!(foo_~i~0#1 <= foo_~size#1); {9174#true} is VALID [2022-02-20 23:50:02,748 INFO L290 TraceCheckUtils]: 4: Hoare triple {9174#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9174#true} is VALID [2022-02-20 23:50:02,748 INFO L290 TraceCheckUtils]: 5: Hoare triple {9174#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9174#true} is VALID [2022-02-20 23:50:02,748 INFO L290 TraceCheckUtils]: 6: Hoare triple {9174#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9174#true} is VALID [2022-02-20 23:50:02,748 INFO L290 TraceCheckUtils]: 7: Hoare triple {9174#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9174#true} is VALID [2022-02-20 23:50:02,748 INFO L290 TraceCheckUtils]: 8: Hoare triple {9174#true} assume !!(foo_~i~0#1 <= foo_~size#1); {9174#true} is VALID [2022-02-20 23:50:02,748 INFO L290 TraceCheckUtils]: 9: Hoare triple {9174#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9174#true} is VALID [2022-02-20 23:50:02,748 INFO L290 TraceCheckUtils]: 10: Hoare triple {9174#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9174#true} is VALID [2022-02-20 23:50:02,749 INFO L290 TraceCheckUtils]: 11: Hoare triple {9174#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9174#true} is VALID [2022-02-20 23:50:02,749 INFO L290 TraceCheckUtils]: 12: Hoare triple {9174#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9174#true} is VALID [2022-02-20 23:50:02,749 INFO L290 TraceCheckUtils]: 13: Hoare triple {9174#true} assume !(foo_~i~0#1 <= foo_~size#1); {9174#true} is VALID [2022-02-20 23:50:02,749 INFO L290 TraceCheckUtils]: 14: Hoare triple {9174#true} foo_#res#1 := foo_~i~0#1; {9174#true} is VALID [2022-02-20 23:50:02,749 INFO L290 TraceCheckUtils]: 15: Hoare triple {9174#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {9174#true} is VALID [2022-02-20 23:50:02,749 INFO L290 TraceCheckUtils]: 16: Hoare triple {9174#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {9174#true} is VALID [2022-02-20 23:50:02,750 INFO L290 TraceCheckUtils]: 17: Hoare triple {9174#true} havoc main_#t~ret3#1; {9174#true} is VALID [2022-02-20 23:50:02,750 INFO L290 TraceCheckUtils]: 18: Hoare triple {9174#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {9174#true} is VALID [2022-02-20 23:50:02,750 INFO L290 TraceCheckUtils]: 19: Hoare triple {9174#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,751 INFO L290 TraceCheckUtils]: 20: Hoare triple {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,751 INFO L290 TraceCheckUtils]: 21: Hoare triple {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,752 INFO L290 TraceCheckUtils]: 22: Hoare triple {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,752 INFO L290 TraceCheckUtils]: 23: Hoare triple {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,753 INFO L290 TraceCheckUtils]: 24: Hoare triple {9176#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,753 INFO L290 TraceCheckUtils]: 25: Hoare triple {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,754 INFO L290 TraceCheckUtils]: 26: Hoare triple {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,754 INFO L290 TraceCheckUtils]: 27: Hoare triple {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,755 INFO L290 TraceCheckUtils]: 28: Hoare triple {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,756 INFO L290 TraceCheckUtils]: 29: Hoare triple {9177#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,756 INFO L290 TraceCheckUtils]: 30: Hoare triple {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,757 INFO L290 TraceCheckUtils]: 31: Hoare triple {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,757 INFO L290 TraceCheckUtils]: 32: Hoare triple {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,758 INFO L290 TraceCheckUtils]: 33: Hoare triple {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,758 INFO L290 TraceCheckUtils]: 34: Hoare triple {9178#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9179#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:02,759 INFO L290 TraceCheckUtils]: 35: Hoare triple {9179#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:02,759 INFO L290 TraceCheckUtils]: 36: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#res#1 := foo_~i~0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:02,760 INFO L290 TraceCheckUtils]: 37: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:02,760 INFO L290 TraceCheckUtils]: 38: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:02,760 INFO L290 TraceCheckUtils]: 39: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} havoc main_#t~ret3#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:02,761 INFO L290 TraceCheckUtils]: 40: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {9181#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:02,762 INFO L290 TraceCheckUtils]: 41: Hoare triple {9181#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:02,762 INFO L290 TraceCheckUtils]: 42: Hoare triple {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:02,763 INFO L290 TraceCheckUtils]: 43: Hoare triple {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:02,763 INFO L290 TraceCheckUtils]: 44: Hoare triple {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:02,764 INFO L290 TraceCheckUtils]: 45: Hoare triple {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:02,764 INFO L290 TraceCheckUtils]: 46: Hoare triple {9182#(and (<= |ULTIMATE.start_foo_~size#1| 3) (= |ULTIMATE.start_foo_~i~0#1| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:02,765 INFO L290 TraceCheckUtils]: 47: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:02,765 INFO L290 TraceCheckUtils]: 48: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:02,766 INFO L290 TraceCheckUtils]: 49: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:02,766 INFO L290 TraceCheckUtils]: 50: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:02,767 INFO L290 TraceCheckUtils]: 51: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:02,767 INFO L290 TraceCheckUtils]: 52: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:02,767 INFO L290 TraceCheckUtils]: 53: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:02,768 INFO L290 TraceCheckUtils]: 54: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:02,768 INFO L290 TraceCheckUtils]: 55: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:02,769 INFO L290 TraceCheckUtils]: 56: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:02,769 INFO L290 TraceCheckUtils]: 57: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:02,769 INFO L290 TraceCheckUtils]: 58: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:02,770 INFO L290 TraceCheckUtils]: 59: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:02,770 INFO L290 TraceCheckUtils]: 60: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:02,771 INFO L290 TraceCheckUtils]: 61: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9186#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:02,771 INFO L290 TraceCheckUtils]: 62: Hoare triple {9186#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {9175#false} is VALID [2022-02-20 23:50:02,772 INFO L290 TraceCheckUtils]: 63: Hoare triple {9175#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {9175#false} is VALID [2022-02-20 23:50:02,772 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 117 proven. 102 refuted. 0 times theorem prover too weak. 8 trivial. 0 not checked. [2022-02-20 23:50:02,772 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:50:02,772 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [984531331] [2022-02-20 23:50:02,772 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [984531331] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:50:02,773 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [732888773] [2022-02-20 23:50:02,773 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-02-20 23:50:02,773 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:02,773 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:50:02,776 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:50:02,803 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:50:02,877 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-02-20 23:50:02,877 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:50:02,879 INFO L263 TraceCheckSpWp]: Trace formula consists of 245 conjuncts, 11 conjunts are in the unsatisfiable core [2022-02-20 23:50:02,896 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:02,898 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:50:03,412 INFO L290 TraceCheckUtils]: 0: Hoare triple {9174#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9174#true} is VALID [2022-02-20 23:50:03,413 INFO L290 TraceCheckUtils]: 1: Hoare triple {9174#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,413 INFO L290 TraceCheckUtils]: 2: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,413 INFO L290 TraceCheckUtils]: 3: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,413 INFO L290 TraceCheckUtils]: 4: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,414 INFO L290 TraceCheckUtils]: 5: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,414 INFO L290 TraceCheckUtils]: 6: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,414 INFO L290 TraceCheckUtils]: 7: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,415 INFO L290 TraceCheckUtils]: 8: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,415 INFO L290 TraceCheckUtils]: 9: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,415 INFO L290 TraceCheckUtils]: 10: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,415 INFO L290 TraceCheckUtils]: 11: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,416 INFO L290 TraceCheckUtils]: 12: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,416 INFO L290 TraceCheckUtils]: 13: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !(foo_~i~0#1 <= foo_~size#1); {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,416 INFO L290 TraceCheckUtils]: 14: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,417 INFO L290 TraceCheckUtils]: 15: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,417 INFO L290 TraceCheckUtils]: 16: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,417 INFO L290 TraceCheckUtils]: 17: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,418 INFO L290 TraceCheckUtils]: 18: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,418 INFO L290 TraceCheckUtils]: 19: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,418 INFO L290 TraceCheckUtils]: 20: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,418 INFO L290 TraceCheckUtils]: 21: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,419 INFO L290 TraceCheckUtils]: 22: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,419 INFO L290 TraceCheckUtils]: 23: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,419 INFO L290 TraceCheckUtils]: 24: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,420 INFO L290 TraceCheckUtils]: 25: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,420 INFO L290 TraceCheckUtils]: 26: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,420 INFO L290 TraceCheckUtils]: 27: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,420 INFO L290 TraceCheckUtils]: 28: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,421 INFO L290 TraceCheckUtils]: 29: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,421 INFO L290 TraceCheckUtils]: 30: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,421 INFO L290 TraceCheckUtils]: 31: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,422 INFO L290 TraceCheckUtils]: 32: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,422 INFO L290 TraceCheckUtils]: 33: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,422 INFO L290 TraceCheckUtils]: 34: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,422 INFO L290 TraceCheckUtils]: 35: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,423 INFO L290 TraceCheckUtils]: 36: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#res#1 := foo_~i~0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,423 INFO L290 TraceCheckUtils]: 37: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,423 INFO L290 TraceCheckUtils]: 38: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,424 INFO L290 TraceCheckUtils]: 39: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} havoc main_#t~ret3#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,424 INFO L290 TraceCheckUtils]: 40: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {9181#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:03,425 INFO L290 TraceCheckUtils]: 41: Hoare triple {9181#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,425 INFO L290 TraceCheckUtils]: 42: Hoare triple {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,425 INFO L290 TraceCheckUtils]: 43: Hoare triple {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,426 INFO L290 TraceCheckUtils]: 44: Hoare triple {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,426 INFO L290 TraceCheckUtils]: 45: Hoare triple {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,427 INFO L290 TraceCheckUtils]: 46: Hoare triple {9314#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,427 INFO L290 TraceCheckUtils]: 47: Hoare triple {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,427 INFO L290 TraceCheckUtils]: 48: Hoare triple {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,428 INFO L290 TraceCheckUtils]: 49: Hoare triple {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,428 INFO L290 TraceCheckUtils]: 50: Hoare triple {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,428 INFO L290 TraceCheckUtils]: 51: Hoare triple {9330#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,429 INFO L290 TraceCheckUtils]: 52: Hoare triple {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,429 INFO L290 TraceCheckUtils]: 53: Hoare triple {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,430 INFO L290 TraceCheckUtils]: 54: Hoare triple {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,430 INFO L290 TraceCheckUtils]: 55: Hoare triple {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,430 INFO L290 TraceCheckUtils]: 56: Hoare triple {9346#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} is VALID [2022-02-20 23:50:03,431 INFO L290 TraceCheckUtils]: 57: Hoare triple {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} assume !!(foo_~i~0#1 <= foo_~size#1); {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} is VALID [2022-02-20 23:50:03,431 INFO L290 TraceCheckUtils]: 58: Hoare triple {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} is VALID [2022-02-20 23:50:03,432 INFO L290 TraceCheckUtils]: 59: Hoare triple {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} is VALID [2022-02-20 23:50:03,432 INFO L290 TraceCheckUtils]: 60: Hoare triple {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} is VALID [2022-02-20 23:50:03,432 INFO L290 TraceCheckUtils]: 61: Hoare triple {9362#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 3))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9378#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 4 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:03,433 INFO L290 TraceCheckUtils]: 62: Hoare triple {9378#(and (<= |ULTIMATE.start_foo_~size#1| 3) (<= 4 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {9175#false} is VALID [2022-02-20 23:50:03,433 INFO L290 TraceCheckUtils]: 63: Hoare triple {9175#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {9175#false} is VALID [2022-02-20 23:50:03,433 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 43 proven. 159 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:50:03,434 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:50:03,760 INFO L290 TraceCheckUtils]: 63: Hoare triple {9175#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {9175#false} is VALID [2022-02-20 23:50:03,761 INFO L290 TraceCheckUtils]: 62: Hoare triple {9186#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {9175#false} is VALID [2022-02-20 23:50:03,762 INFO L290 TraceCheckUtils]: 61: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9186#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:03,762 INFO L290 TraceCheckUtils]: 60: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:03,762 INFO L290 TraceCheckUtils]: 59: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:03,763 INFO L290 TraceCheckUtils]: 58: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:03,763 INFO L290 TraceCheckUtils]: 57: Hoare triple {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:03,764 INFO L290 TraceCheckUtils]: 56: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9185#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:03,764 INFO L290 TraceCheckUtils]: 55: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:03,765 INFO L290 TraceCheckUtils]: 54: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:03,765 INFO L290 TraceCheckUtils]: 53: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:03,765 INFO L290 TraceCheckUtils]: 52: Hoare triple {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:03,766 INFO L290 TraceCheckUtils]: 51: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9184#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:03,766 INFO L290 TraceCheckUtils]: 50: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:03,767 INFO L290 TraceCheckUtils]: 49: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:03,771 INFO L290 TraceCheckUtils]: 48: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:03,772 INFO L290 TraceCheckUtils]: 47: Hoare triple {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:03,772 INFO L290 TraceCheckUtils]: 46: Hoare triple {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9183#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:03,773 INFO L290 TraceCheckUtils]: 45: Hoare triple {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:03,773 INFO L290 TraceCheckUtils]: 44: Hoare triple {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:03,774 INFO L290 TraceCheckUtils]: 43: Hoare triple {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:03,774 INFO L290 TraceCheckUtils]: 42: Hoare triple {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} assume !!(foo_~i~0#1 <= foo_~size#1); {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:03,775 INFO L290 TraceCheckUtils]: 41: Hoare triple {9181#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9436#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:03,779 INFO L290 TraceCheckUtils]: 40: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {9181#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:03,780 INFO L290 TraceCheckUtils]: 39: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} havoc main_#t~ret3#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,780 INFO L290 TraceCheckUtils]: 38: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,781 INFO L290 TraceCheckUtils]: 37: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,781 INFO L290 TraceCheckUtils]: 36: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#res#1 := foo_~i~0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,781 INFO L290 TraceCheckUtils]: 35: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,788 INFO L290 TraceCheckUtils]: 34: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,789 INFO L290 TraceCheckUtils]: 33: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,789 INFO L290 TraceCheckUtils]: 32: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,790 INFO L290 TraceCheckUtils]: 31: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,790 INFO L290 TraceCheckUtils]: 30: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,791 INFO L290 TraceCheckUtils]: 29: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,791 INFO L290 TraceCheckUtils]: 28: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,791 INFO L290 TraceCheckUtils]: 27: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,792 INFO L290 TraceCheckUtils]: 26: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,792 INFO L290 TraceCheckUtils]: 25: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,792 INFO L290 TraceCheckUtils]: 24: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,793 INFO L290 TraceCheckUtils]: 23: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,793 INFO L290 TraceCheckUtils]: 22: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,794 INFO L290 TraceCheckUtils]: 21: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,794 INFO L290 TraceCheckUtils]: 20: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,794 INFO L290 TraceCheckUtils]: 19: Hoare triple {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,795 INFO L290 TraceCheckUtils]: 18: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {9180#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:03,795 INFO L290 TraceCheckUtils]: 17: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,796 INFO L290 TraceCheckUtils]: 16: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,796 INFO L290 TraceCheckUtils]: 15: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,797 INFO L290 TraceCheckUtils]: 14: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,797 INFO L290 TraceCheckUtils]: 13: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !(foo_~i~0#1 <= foo_~size#1); {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,797 INFO L290 TraceCheckUtils]: 12: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,798 INFO L290 TraceCheckUtils]: 11: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,798 INFO L290 TraceCheckUtils]: 10: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,799 INFO L290 TraceCheckUtils]: 9: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,799 INFO L290 TraceCheckUtils]: 8: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,799 INFO L290 TraceCheckUtils]: 7: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,800 INFO L290 TraceCheckUtils]: 6: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,800 INFO L290 TraceCheckUtils]: 5: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,800 INFO L290 TraceCheckUtils]: 4: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,801 INFO L290 TraceCheckUtils]: 3: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,802 INFO L290 TraceCheckUtils]: 1: Hoare triple {9174#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {9193#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:03,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {9174#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {9174#true} is VALID [2022-02-20 23:50:03,803 INFO L134 CoverageAnalysis]: Checked inductivity of 227 backedges. 43 proven. 159 refuted. 0 times theorem prover too weak. 25 trivial. 0 not checked. [2022-02-20 23:50:03,803 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [732888773] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:50:03,803 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:50:03,803 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [13, 10, 10] total 20 [2022-02-20 23:50:03,804 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1729131035] [2022-02-20 23:50:03,804 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:50:03,804 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 5.35) internal successors, (107), 20 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 64 [2022-02-20 23:50:03,805 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:50:03,805 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 20 states, 20 states have (on average 5.35) internal successors, (107), 20 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:03,875 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 107 edges. 107 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:03,875 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 20 states [2022-02-20 23:50:03,875 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:50:03,875 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 20 interpolants. [2022-02-20 23:50:03,875 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=83, Invalid=297, Unknown=0, NotChecked=0, Total=380 [2022-02-20 23:50:03,876 INFO L87 Difference]: Start difference. First operand 67 states and 69 transitions. Second operand has 20 states, 20 states have (on average 5.35) internal successors, (107), 20 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:04,750 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:04,750 INFO L93 Difference]: Finished difference Result 108 states and 111 transitions. [2022-02-20 23:50:04,750 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 25 states. [2022-02-20 23:50:04,750 INFO L78 Accepts]: Start accepts. Automaton has has 20 states, 20 states have (on average 5.35) internal successors, (107), 20 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 64 [2022-02-20 23:50:04,751 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:50:04,751 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 5.35) internal successors, (107), 20 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:04,752 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 112 transitions. [2022-02-20 23:50:04,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 20 states, 20 states have (on average 5.35) internal successors, (107), 20 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:04,753 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 25 states to 25 states and 112 transitions. [2022-02-20 23:50:04,753 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 25 states and 112 transitions. [2022-02-20 23:50:04,853 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:04,854 INFO L225 Difference]: With dead ends: 108 [2022-02-20 23:50:04,854 INFO L226 Difference]: Without dead ends: 108 [2022-02-20 23:50:04,854 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 120 SyntacticMatches, 1 SemanticMatches, 34 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 263 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=297, Invalid=963, Unknown=0, NotChecked=0, Total=1260 [2022-02-20 23:50:04,855 INFO L933 BasicCegarLoop]: 11 mSDtfsCounter, 202 mSDsluCounter, 50 mSDsCounter, 0 mSdLazyCounter, 312 mSolverCounterSat, 50 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 202 SdHoareTripleChecker+Valid, 61 SdHoareTripleChecker+Invalid, 362 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 50 IncrementalHoareTripleChecker+Valid, 312 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:50:04,855 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [202 Valid, 61 Invalid, 362 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [50 Valid, 312 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-02-20 23:50:04,855 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-02-20 23:50:04,857 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 94. [2022-02-20 23:50:04,857 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:50:04,857 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 94 states, 92 states have (on average 1.0543478260869565) internal successors, (97), 93 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:04,857 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 94 states, 92 states have (on average 1.0543478260869565) internal successors, (97), 93 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:04,858 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 94 states, 92 states have (on average 1.0543478260869565) internal successors, (97), 93 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:04,859 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:04,859 INFO L93 Difference]: Finished difference Result 108 states and 111 transitions. [2022-02-20 23:50:04,859 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 111 transitions. [2022-02-20 23:50:04,859 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:04,860 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:04,860 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 92 states have (on average 1.0543478260869565) internal successors, (97), 93 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 108 states. [2022-02-20 23:50:04,860 INFO L87 Difference]: Start difference. First operand has 94 states, 92 states have (on average 1.0543478260869565) internal successors, (97), 93 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 108 states. [2022-02-20 23:50:04,861 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:04,861 INFO L93 Difference]: Finished difference Result 108 states and 111 transitions. [2022-02-20 23:50:04,862 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 111 transitions. [2022-02-20 23:50:04,862 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:04,862 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:04,862 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:50:04,862 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:50:04,862 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 92 states have (on average 1.0543478260869565) internal successors, (97), 93 states have internal predecessors, (97), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:04,863 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 97 transitions. [2022-02-20 23:50:04,864 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 97 transitions. Word has length 64 [2022-02-20 23:50:04,864 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:50:04,864 INFO L470 AbstractCegarLoop]: Abstraction has 94 states and 97 transitions. [2022-02-20 23:50:04,864 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 20 states, 20 states have (on average 5.35) internal successors, (107), 20 states have internal predecessors, (107), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:04,864 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 97 transitions. [2022-02-20 23:50:04,865 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 92 [2022-02-20 23:50:04,865 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:50:04,865 INFO L514 BasicCegarLoop]: trace histogram [14, 13, 13, 13, 13, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1] [2022-02-20 23:50:04,890 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:50:05,079 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable20,15 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:05,079 INFO L402 AbstractCegarLoop]: === Iteration 22 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:50:05,080 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:50:05,080 INFO L85 PathProgramCache]: Analyzing trace with hash -875547996, now seen corresponding path program 3 times [2022-02-20 23:50:05,080 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:50:05,080 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [135915435] [2022-02-20 23:50:05,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:50:05,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:50:05,138 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:05,213 INFO L290 TraceCheckUtils]: 0: Hoare triple {10024#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10024#true} is VALID [2022-02-20 23:50:05,214 INFO L290 TraceCheckUtils]: 1: Hoare triple {10024#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {10024#true} is VALID [2022-02-20 23:50:05,214 INFO L290 TraceCheckUtils]: 2: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:05,214 INFO L290 TraceCheckUtils]: 3: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,214 INFO L290 TraceCheckUtils]: 4: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,214 INFO L290 TraceCheckUtils]: 5: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,214 INFO L290 TraceCheckUtils]: 6: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,215 INFO L290 TraceCheckUtils]: 7: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,215 INFO L290 TraceCheckUtils]: 10: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,215 INFO L290 TraceCheckUtils]: 11: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,215 INFO L290 TraceCheckUtils]: 12: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:05,216 INFO L290 TraceCheckUtils]: 15: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:05,216 INFO L290 TraceCheckUtils]: 16: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:05,216 INFO L290 TraceCheckUtils]: 17: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:05,216 INFO L290 TraceCheckUtils]: 18: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:05,216 INFO L290 TraceCheckUtils]: 19: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:05,216 INFO L290 TraceCheckUtils]: 20: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,217 INFO L290 TraceCheckUtils]: 21: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,217 INFO L290 TraceCheckUtils]: 22: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,217 INFO L290 TraceCheckUtils]: 23: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,217 INFO L290 TraceCheckUtils]: 24: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,217 INFO L290 TraceCheckUtils]: 25: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,217 INFO L290 TraceCheckUtils]: 26: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,218 INFO L290 TraceCheckUtils]: 27: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,218 INFO L290 TraceCheckUtils]: 28: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,218 INFO L290 TraceCheckUtils]: 29: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,218 INFO L290 TraceCheckUtils]: 30: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,218 INFO L290 TraceCheckUtils]: 31: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,218 INFO L290 TraceCheckUtils]: 32: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,218 INFO L290 TraceCheckUtils]: 33: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,219 INFO L290 TraceCheckUtils]: 34: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,219 INFO L290 TraceCheckUtils]: 35: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,219 INFO L290 TraceCheckUtils]: 36: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:05,219 INFO L290 TraceCheckUtils]: 37: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:05,219 INFO L290 TraceCheckUtils]: 38: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:05,219 INFO L290 TraceCheckUtils]: 39: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:05,219 INFO L290 TraceCheckUtils]: 40: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:05,220 INFO L290 TraceCheckUtils]: 41: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:05,220 INFO L290 TraceCheckUtils]: 42: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,220 INFO L290 TraceCheckUtils]: 43: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,220 INFO L290 TraceCheckUtils]: 44: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,220 INFO L290 TraceCheckUtils]: 45: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,220 INFO L290 TraceCheckUtils]: 46: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,221 INFO L290 TraceCheckUtils]: 47: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,221 INFO L290 TraceCheckUtils]: 48: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,221 INFO L290 TraceCheckUtils]: 49: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,221 INFO L290 TraceCheckUtils]: 50: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,221 INFO L290 TraceCheckUtils]: 51: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,221 INFO L290 TraceCheckUtils]: 52: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,221 INFO L290 TraceCheckUtils]: 53: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,222 INFO L290 TraceCheckUtils]: 54: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,222 INFO L290 TraceCheckUtils]: 55: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,222 INFO L290 TraceCheckUtils]: 56: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,222 INFO L290 TraceCheckUtils]: 57: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,222 INFO L290 TraceCheckUtils]: 58: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,222 INFO L290 TraceCheckUtils]: 59: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,222 INFO L290 TraceCheckUtils]: 60: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,223 INFO L290 TraceCheckUtils]: 61: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,223 INFO L290 TraceCheckUtils]: 62: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,223 INFO L290 TraceCheckUtils]: 63: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:05,223 INFO L290 TraceCheckUtils]: 64: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:05,223 INFO L290 TraceCheckUtils]: 65: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:05,223 INFO L290 TraceCheckUtils]: 66: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:05,223 INFO L290 TraceCheckUtils]: 67: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:05,224 INFO L290 TraceCheckUtils]: 68: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,224 INFO L290 TraceCheckUtils]: 69: Hoare triple {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,225 INFO L290 TraceCheckUtils]: 70: Hoare triple {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,225 INFO L290 TraceCheckUtils]: 71: Hoare triple {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,225 INFO L290 TraceCheckUtils]: 72: Hoare triple {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,226 INFO L290 TraceCheckUtils]: 73: Hoare triple {10026#(= |ULTIMATE.start_foo_~i~0#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,226 INFO L290 TraceCheckUtils]: 74: Hoare triple {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,227 INFO L290 TraceCheckUtils]: 75: Hoare triple {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,227 INFO L290 TraceCheckUtils]: 76: Hoare triple {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,228 INFO L290 TraceCheckUtils]: 77: Hoare triple {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,228 INFO L290 TraceCheckUtils]: 78: Hoare triple {10027#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,229 INFO L290 TraceCheckUtils]: 79: Hoare triple {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,229 INFO L290 TraceCheckUtils]: 80: Hoare triple {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,230 INFO L290 TraceCheckUtils]: 81: Hoare triple {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,230 INFO L290 TraceCheckUtils]: 82: Hoare triple {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,231 INFO L290 TraceCheckUtils]: 83: Hoare triple {10028#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:05,231 INFO L290 TraceCheckUtils]: 84: Hoare triple {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} assume !!(foo_~i~0#1 <= foo_~size#1); {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:05,231 INFO L290 TraceCheckUtils]: 85: Hoare triple {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:05,232 INFO L290 TraceCheckUtils]: 86: Hoare triple {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:05,232 INFO L290 TraceCheckUtils]: 87: Hoare triple {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:05,233 INFO L290 TraceCheckUtils]: 88: Hoare triple {10029#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10030#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 4 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,233 INFO L290 TraceCheckUtils]: 89: Hoare triple {10030#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 4 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {10030#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 4 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,234 INFO L290 TraceCheckUtils]: 90: Hoare triple {10030#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 4 |ULTIMATE.start_foo_~i~0#1|))} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {10025#false} is VALID [2022-02-20 23:50:05,234 INFO L134 CoverageAnalysis]: Checked inductivity of 482 backedges. 213 proven. 38 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2022-02-20 23:50:05,234 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:50:05,235 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [135915435] [2022-02-20 23:50:05,235 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [135915435] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:50:05,235 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [122438092] [2022-02-20 23:50:05,235 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-02-20 23:50:05,235 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:05,235 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:50:05,240 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:50:05,241 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:50:05,339 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 5 check-sat command(s) [2022-02-20 23:50:05,339 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:50:05,340 INFO L263 TraceCheckSpWp]: Trace formula consists of 184 conjuncts, 8 conjunts are in the unsatisfiable core [2022-02-20 23:50:05,357 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:05,358 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:50:05,709 INFO L290 TraceCheckUtils]: 0: Hoare triple {10024#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10024#true} is VALID [2022-02-20 23:50:05,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {10024#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {10024#true} is VALID [2022-02-20 23:50:05,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:05,709 INFO L290 TraceCheckUtils]: 3: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,710 INFO L290 TraceCheckUtils]: 4: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,710 INFO L290 TraceCheckUtils]: 5: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,710 INFO L290 TraceCheckUtils]: 6: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,710 INFO L290 TraceCheckUtils]: 7: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,710 INFO L290 TraceCheckUtils]: 8: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,710 INFO L290 TraceCheckUtils]: 9: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,710 INFO L290 TraceCheckUtils]: 10: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,711 INFO L290 TraceCheckUtils]: 11: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,711 INFO L290 TraceCheckUtils]: 12: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,711 INFO L290 TraceCheckUtils]: 13: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,711 INFO L290 TraceCheckUtils]: 14: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:05,711 INFO L290 TraceCheckUtils]: 15: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:05,711 INFO L290 TraceCheckUtils]: 16: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:05,712 INFO L290 TraceCheckUtils]: 17: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:05,712 INFO L290 TraceCheckUtils]: 18: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:05,712 INFO L290 TraceCheckUtils]: 19: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:05,712 INFO L290 TraceCheckUtils]: 20: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,712 INFO L290 TraceCheckUtils]: 21: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,712 INFO L290 TraceCheckUtils]: 22: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,713 INFO L290 TraceCheckUtils]: 23: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,713 INFO L290 TraceCheckUtils]: 24: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,713 INFO L290 TraceCheckUtils]: 25: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,713 INFO L290 TraceCheckUtils]: 26: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,713 INFO L290 TraceCheckUtils]: 27: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,713 INFO L290 TraceCheckUtils]: 28: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,713 INFO L290 TraceCheckUtils]: 29: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,714 INFO L290 TraceCheckUtils]: 30: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,714 INFO L290 TraceCheckUtils]: 31: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,714 INFO L290 TraceCheckUtils]: 32: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,714 INFO L290 TraceCheckUtils]: 33: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,714 INFO L290 TraceCheckUtils]: 34: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,714 INFO L290 TraceCheckUtils]: 35: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,714 INFO L290 TraceCheckUtils]: 36: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:05,715 INFO L290 TraceCheckUtils]: 37: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:05,715 INFO L290 TraceCheckUtils]: 38: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:05,715 INFO L290 TraceCheckUtils]: 39: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:05,715 INFO L290 TraceCheckUtils]: 40: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:05,715 INFO L290 TraceCheckUtils]: 41: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:05,715 INFO L290 TraceCheckUtils]: 42: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,715 INFO L290 TraceCheckUtils]: 43: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,716 INFO L290 TraceCheckUtils]: 44: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,716 INFO L290 TraceCheckUtils]: 45: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,716 INFO L290 TraceCheckUtils]: 46: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,716 INFO L290 TraceCheckUtils]: 47: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,716 INFO L290 TraceCheckUtils]: 48: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,716 INFO L290 TraceCheckUtils]: 49: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,716 INFO L290 TraceCheckUtils]: 50: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,717 INFO L290 TraceCheckUtils]: 51: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,717 INFO L290 TraceCheckUtils]: 52: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,717 INFO L290 TraceCheckUtils]: 53: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,717 INFO L290 TraceCheckUtils]: 54: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,717 INFO L290 TraceCheckUtils]: 55: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,717 INFO L290 TraceCheckUtils]: 56: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,717 INFO L290 TraceCheckUtils]: 57: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,718 INFO L290 TraceCheckUtils]: 58: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:05,718 INFO L290 TraceCheckUtils]: 59: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:05,718 INFO L290 TraceCheckUtils]: 60: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:05,718 INFO L290 TraceCheckUtils]: 61: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:05,718 INFO L290 TraceCheckUtils]: 62: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:05,718 INFO L290 TraceCheckUtils]: 63: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:05,718 INFO L290 TraceCheckUtils]: 64: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:05,719 INFO L290 TraceCheckUtils]: 65: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:05,719 INFO L290 TraceCheckUtils]: 66: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:05,719 INFO L290 TraceCheckUtils]: 67: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:05,720 INFO L290 TraceCheckUtils]: 68: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,720 INFO L290 TraceCheckUtils]: 69: Hoare triple {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,720 INFO L290 TraceCheckUtils]: 70: Hoare triple {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,721 INFO L290 TraceCheckUtils]: 71: Hoare triple {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,721 INFO L290 TraceCheckUtils]: 72: Hoare triple {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} is VALID [2022-02-20 23:50:05,722 INFO L290 TraceCheckUtils]: 73: Hoare triple {10238#(<= |ULTIMATE.start_foo_~i~0#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} is VALID [2022-02-20 23:50:05,722 INFO L290 TraceCheckUtils]: 74: Hoare triple {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} is VALID [2022-02-20 23:50:05,723 INFO L290 TraceCheckUtils]: 75: Hoare triple {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} is VALID [2022-02-20 23:50:05,723 INFO L290 TraceCheckUtils]: 76: Hoare triple {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} is VALID [2022-02-20 23:50:05,724 INFO L290 TraceCheckUtils]: 77: Hoare triple {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} is VALID [2022-02-20 23:50:05,724 INFO L290 TraceCheckUtils]: 78: Hoare triple {10254#(<= |ULTIMATE.start_foo_~i~0#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} is VALID [2022-02-20 23:50:05,725 INFO L290 TraceCheckUtils]: 79: Hoare triple {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} assume !!(foo_~i~0#1 <= foo_~size#1); {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} is VALID [2022-02-20 23:50:05,725 INFO L290 TraceCheckUtils]: 80: Hoare triple {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} is VALID [2022-02-20 23:50:05,726 INFO L290 TraceCheckUtils]: 81: Hoare triple {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} is VALID [2022-02-20 23:50:05,726 INFO L290 TraceCheckUtils]: 82: Hoare triple {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} is VALID [2022-02-20 23:50:05,727 INFO L290 TraceCheckUtils]: 83: Hoare triple {10270#(<= |ULTIMATE.start_foo_~i~0#1| 2)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10286#(<= |ULTIMATE.start_foo_~i~0#1| 3)} is VALID [2022-02-20 23:50:05,727 INFO L290 TraceCheckUtils]: 84: Hoare triple {10286#(<= |ULTIMATE.start_foo_~i~0#1| 3)} assume !!(foo_~i~0#1 <= foo_~size#1); {10286#(<= |ULTIMATE.start_foo_~i~0#1| 3)} is VALID [2022-02-20 23:50:05,728 INFO L290 TraceCheckUtils]: 85: Hoare triple {10286#(<= |ULTIMATE.start_foo_~i~0#1| 3)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10293#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,728 INFO L290 TraceCheckUtils]: 86: Hoare triple {10293#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10293#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,729 INFO L290 TraceCheckUtils]: 87: Hoare triple {10293#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10293#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,729 INFO L290 TraceCheckUtils]: 88: Hoare triple {10293#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10303#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,730 INFO L290 TraceCheckUtils]: 89: Hoare triple {10303#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {10303#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:05,730 INFO L290 TraceCheckUtils]: 90: Hoare triple {10303#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {10025#false} is VALID [2022-02-20 23:50:05,731 INFO L134 CoverageAnalysis]: Checked inductivity of 482 backedges. 213 proven. 38 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2022-02-20 23:50:05,731 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:50:06,034 INFO L290 TraceCheckUtils]: 90: Hoare triple {10310#(and (< |ULTIMATE.start_foo_~i~0#1| 32) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {10025#false} is VALID [2022-02-20 23:50:06,035 INFO L290 TraceCheckUtils]: 89: Hoare triple {10310#(and (< |ULTIMATE.start_foo_~i~0#1| 32) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {10310#(and (< |ULTIMATE.start_foo_~i~0#1| 32) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:06,036 INFO L290 TraceCheckUtils]: 88: Hoare triple {10317#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10310#(and (< |ULTIMATE.start_foo_~i~0#1| 32) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:06,036 INFO L290 TraceCheckUtils]: 87: Hoare triple {10317#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10317#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} is VALID [2022-02-20 23:50:06,036 INFO L290 TraceCheckUtils]: 86: Hoare triple {10317#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10317#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} is VALID [2022-02-20 23:50:06,037 INFO L290 TraceCheckUtils]: 85: Hoare triple {10327#(< |ULTIMATE.start_foo_~i~0#1| 31)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10317#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 1)) (< |ULTIMATE.start_foo_~i~0#1| 31))} is VALID [2022-02-20 23:50:06,037 INFO L290 TraceCheckUtils]: 84: Hoare triple {10327#(< |ULTIMATE.start_foo_~i~0#1| 31)} assume !!(foo_~i~0#1 <= foo_~size#1); {10327#(< |ULTIMATE.start_foo_~i~0#1| 31)} is VALID [2022-02-20 23:50:06,038 INFO L290 TraceCheckUtils]: 83: Hoare triple {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10327#(< |ULTIMATE.start_foo_~i~0#1| 31)} is VALID [2022-02-20 23:50:06,038 INFO L290 TraceCheckUtils]: 82: Hoare triple {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} is VALID [2022-02-20 23:50:06,038 INFO L290 TraceCheckUtils]: 81: Hoare triple {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} is VALID [2022-02-20 23:50:06,038 INFO L290 TraceCheckUtils]: 80: Hoare triple {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} is VALID [2022-02-20 23:50:06,039 INFO L290 TraceCheckUtils]: 79: Hoare triple {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} assume !!(foo_~i~0#1 <= foo_~size#1); {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} is VALID [2022-02-20 23:50:06,039 INFO L290 TraceCheckUtils]: 78: Hoare triple {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10334#(< |ULTIMATE.start_foo_~i~0#1| 30)} is VALID [2022-02-20 23:50:06,039 INFO L290 TraceCheckUtils]: 77: Hoare triple {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} is VALID [2022-02-20 23:50:06,040 INFO L290 TraceCheckUtils]: 76: Hoare triple {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} is VALID [2022-02-20 23:50:06,040 INFO L290 TraceCheckUtils]: 75: Hoare triple {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} is VALID [2022-02-20 23:50:06,040 INFO L290 TraceCheckUtils]: 74: Hoare triple {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} assume !!(foo_~i~0#1 <= foo_~size#1); {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} is VALID [2022-02-20 23:50:06,041 INFO L290 TraceCheckUtils]: 73: Hoare triple {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10350#(< |ULTIMATE.start_foo_~i~0#1| 29)} is VALID [2022-02-20 23:50:06,041 INFO L290 TraceCheckUtils]: 72: Hoare triple {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} is VALID [2022-02-20 23:50:06,041 INFO L290 TraceCheckUtils]: 71: Hoare triple {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} is VALID [2022-02-20 23:50:06,042 INFO L290 TraceCheckUtils]: 70: Hoare triple {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} is VALID [2022-02-20 23:50:06,042 INFO L290 TraceCheckUtils]: 69: Hoare triple {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} assume !!(foo_~i~0#1 <= foo_~size#1); {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} is VALID [2022-02-20 23:50:06,042 INFO L290 TraceCheckUtils]: 68: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10366#(< |ULTIMATE.start_foo_~i~0#1| 28)} is VALID [2022-02-20 23:50:06,042 INFO L290 TraceCheckUtils]: 67: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:06,042 INFO L290 TraceCheckUtils]: 66: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 65: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 64: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 63: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 62: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 61: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 60: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 59: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 58: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 57: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 56: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 55: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,043 INFO L290 TraceCheckUtils]: 54: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 53: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 52: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 51: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 50: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 49: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 48: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 47: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 46: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 45: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 44: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 43: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 42: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,044 INFO L290 TraceCheckUtils]: 41: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:06,045 INFO L290 TraceCheckUtils]: 40: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:06,045 INFO L290 TraceCheckUtils]: 39: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:06,045 INFO L290 TraceCheckUtils]: 38: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:06,045 INFO L290 TraceCheckUtils]: 37: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:06,045 INFO L290 TraceCheckUtils]: 36: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:06,045 INFO L290 TraceCheckUtils]: 35: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,045 INFO L290 TraceCheckUtils]: 34: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,046 INFO L290 TraceCheckUtils]: 33: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,046 INFO L290 TraceCheckUtils]: 32: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,046 INFO L290 TraceCheckUtils]: 31: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,046 INFO L290 TraceCheckUtils]: 30: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,046 INFO L290 TraceCheckUtils]: 29: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,046 INFO L290 TraceCheckUtils]: 28: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,046 INFO L290 TraceCheckUtils]: 27: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,047 INFO L290 TraceCheckUtils]: 26: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,047 INFO L290 TraceCheckUtils]: 25: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,047 INFO L290 TraceCheckUtils]: 24: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,047 INFO L290 TraceCheckUtils]: 23: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,047 INFO L290 TraceCheckUtils]: 22: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,047 INFO L290 TraceCheckUtils]: 21: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,047 INFO L290 TraceCheckUtils]: 20: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,048 INFO L290 TraceCheckUtils]: 19: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:06,048 INFO L290 TraceCheckUtils]: 18: Hoare triple {10024#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {10024#true} is VALID [2022-02-20 23:50:06,048 INFO L290 TraceCheckUtils]: 17: Hoare triple {10024#true} havoc main_#t~ret3#1; {10024#true} is VALID [2022-02-20 23:50:06,048 INFO L290 TraceCheckUtils]: 16: Hoare triple {10024#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {10024#true} is VALID [2022-02-20 23:50:06,048 INFO L290 TraceCheckUtils]: 15: Hoare triple {10024#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {10024#true} is VALID [2022-02-20 23:50:06,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {10024#true} foo_#res#1 := foo_~i~0#1; {10024#true} is VALID [2022-02-20 23:50:06,049 INFO L290 TraceCheckUtils]: 13: Hoare triple {10024#true} assume !(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,049 INFO L290 TraceCheckUtils]: 12: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,049 INFO L290 TraceCheckUtils]: 11: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,049 INFO L290 TraceCheckUtils]: 10: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,049 INFO L290 TraceCheckUtils]: 9: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {10024#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {10024#true} is VALID [2022-02-20 23:50:06,050 INFO L290 TraceCheckUtils]: 6: Hoare triple {10024#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {10024#true} is VALID [2022-02-20 23:50:06,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {10024#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {10024#true} is VALID [2022-02-20 23:50:06,050 INFO L290 TraceCheckUtils]: 4: Hoare triple {10024#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {10024#true} is VALID [2022-02-20 23:50:06,050 INFO L290 TraceCheckUtils]: 3: Hoare triple {10024#true} assume !!(foo_~i~0#1 <= foo_~size#1); {10024#true} is VALID [2022-02-20 23:50:06,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {10024#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {10024#true} is VALID [2022-02-20 23:50:06,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {10024#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {10024#true} is VALID [2022-02-20 23:50:06,050 INFO L290 TraceCheckUtils]: 0: Hoare triple {10024#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {10024#true} is VALID [2022-02-20 23:50:06,051 INFO L134 CoverageAnalysis]: Checked inductivity of 482 backedges. 213 proven. 38 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2022-02-20 23:50:06,051 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [122438092] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:50:06,051 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:50:06,052 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [6, 7, 7] total 18 [2022-02-20 23:50:06,052 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1669288456] [2022-02-20 23:50:06,052 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:50:06,052 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 4.611111111111111) internal successors, (83), 19 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 91 [2022-02-20 23:50:06,053 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:50:06,053 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 19 states, 18 states have (on average 4.611111111111111) internal successors, (83), 19 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,111 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 83 edges. 83 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:06,112 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 19 states [2022-02-20 23:50:06,112 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:50:06,113 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 19 interpolants. [2022-02-20 23:50:06,113 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=125, Invalid=217, Unknown=0, NotChecked=0, Total=342 [2022-02-20 23:50:06,113 INFO L87 Difference]: Start difference. First operand 94 states and 97 transitions. Second operand has 19 states, 18 states have (on average 4.611111111111111) internal successors, (83), 19 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,634 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:06,634 INFO L93 Difference]: Finished difference Result 164 states and 173 transitions. [2022-02-20 23:50:06,634 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 12 states. [2022-02-20 23:50:06,635 INFO L78 Accepts]: Start accepts. Automaton has has 19 states, 18 states have (on average 4.611111111111111) internal successors, (83), 19 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 91 [2022-02-20 23:50:06,635 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:50:06,635 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 4.611111111111111) internal successors, (83), 19 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,636 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 130 transitions. [2022-02-20 23:50:06,636 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 19 states, 18 states have (on average 4.611111111111111) internal successors, (83), 19 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,637 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 12 states to 12 states and 130 transitions. [2022-02-20 23:50:06,637 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 12 states and 130 transitions. [2022-02-20 23:50:06,740 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 130 edges. 130 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:06,742 INFO L225 Difference]: With dead ends: 164 [2022-02-20 23:50:06,742 INFO L226 Difference]: Without dead ends: 164 [2022-02-20 23:50:06,743 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 194 GetRequests, 173 SyntacticMatches, 0 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 41 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=185, Invalid=321, Unknown=0, NotChecked=0, Total=506 [2022-02-20 23:50:06,743 INFO L933 BasicCegarLoop]: 19 mSDtfsCounter, 307 mSDsluCounter, 90 mSDsCounter, 0 mSdLazyCounter, 234 mSolverCounterSat, 19 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 307 SdHoareTripleChecker+Valid, 109 SdHoareTripleChecker+Invalid, 253 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 19 IncrementalHoareTripleChecker+Valid, 234 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-02-20 23:50:06,743 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [307 Valid, 109 Invalid, 253 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [19 Valid, 234 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-02-20 23:50:06,744 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 164 states. [2022-02-20 23:50:06,745 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 164 to 123. [2022-02-20 23:50:06,745 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:50:06,746 INFO L82 GeneralOperation]: Start isEquivalent. First operand 164 states. Second operand has 123 states, 121 states have (on average 1.1322314049586777) internal successors, (137), 122 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,746 INFO L74 IsIncluded]: Start isIncluded. First operand 164 states. Second operand has 123 states, 121 states have (on average 1.1322314049586777) internal successors, (137), 122 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,746 INFO L87 Difference]: Start difference. First operand 164 states. Second operand has 123 states, 121 states have (on average 1.1322314049586777) internal successors, (137), 122 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,748 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:06,748 INFO L93 Difference]: Finished difference Result 164 states and 173 transitions. [2022-02-20 23:50:06,748 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 173 transitions. [2022-02-20 23:50:06,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:06,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:06,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 123 states, 121 states have (on average 1.1322314049586777) internal successors, (137), 122 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 164 states. [2022-02-20 23:50:06,749 INFO L87 Difference]: Start difference. First operand has 123 states, 121 states have (on average 1.1322314049586777) internal successors, (137), 122 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 164 states. [2022-02-20 23:50:06,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:06,752 INFO L93 Difference]: Finished difference Result 164 states and 173 transitions. [2022-02-20 23:50:06,752 INFO L276 IsEmpty]: Start isEmpty. Operand 164 states and 173 transitions. [2022-02-20 23:50:06,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:06,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:06,752 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:50:06,752 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:50:06,753 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 123 states, 121 states have (on average 1.1322314049586777) internal successors, (137), 122 states have internal predecessors, (137), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 123 states to 123 states and 137 transitions. [2022-02-20 23:50:06,754 INFO L78 Accepts]: Start accepts. Automaton has 123 states and 137 transitions. Word has length 91 [2022-02-20 23:50:06,755 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:50:06,755 INFO L470 AbstractCegarLoop]: Abstraction has 123 states and 137 transitions. [2022-02-20 23:50:06,755 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 19 states, 18 states have (on average 4.611111111111111) internal successors, (83), 19 states have internal predecessors, (83), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:06,755 INFO L276 IsEmpty]: Start isEmpty. Operand 123 states and 137 transitions. [2022-02-20 23:50:06,756 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 93 [2022-02-20 23:50:06,756 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:50:06,756 INFO L514 BasicCegarLoop]: trace histogram [14, 14, 13, 13, 13, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1] [2022-02-20 23:50:06,782 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:50:06,974 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable21,16 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:06,974 INFO L402 AbstractCegarLoop]: === Iteration 23 === Targeting ULTIMATE.startErr2REQUIRES_VIOLATION === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:50:06,974 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:50:06,974 INFO L85 PathProgramCache]: Analyzing trace with hash -1372184046, now seen corresponding path program 1 times [2022-02-20 23:50:06,974 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:50:06,975 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2045108880] [2022-02-20 23:50:06,975 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:50:06,975 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:50:07,024 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:07,149 INFO L290 TraceCheckUtils]: 0: Hoare triple {11212#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11212#true} is VALID [2022-02-20 23:50:07,150 INFO L290 TraceCheckUtils]: 1: Hoare triple {11212#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,151 INFO L290 TraceCheckUtils]: 2: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,151 INFO L290 TraceCheckUtils]: 3: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,152 INFO L290 TraceCheckUtils]: 4: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,152 INFO L290 TraceCheckUtils]: 5: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,152 INFO L290 TraceCheckUtils]: 6: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,153 INFO L290 TraceCheckUtils]: 7: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,153 INFO L290 TraceCheckUtils]: 8: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,154 INFO L290 TraceCheckUtils]: 9: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,154 INFO L290 TraceCheckUtils]: 10: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,155 INFO L290 TraceCheckUtils]: 11: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,156 INFO L290 TraceCheckUtils]: 12: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,156 INFO L290 TraceCheckUtils]: 13: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,156 INFO L290 TraceCheckUtils]: 14: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#res#1 := foo_~i~0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,157 INFO L290 TraceCheckUtils]: 15: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,157 INFO L290 TraceCheckUtils]: 16: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,158 INFO L290 TraceCheckUtils]: 17: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} havoc main_#t~ret3#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,158 INFO L290 TraceCheckUtils]: 18: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,158 INFO L290 TraceCheckUtils]: 19: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,159 INFO L290 TraceCheckUtils]: 20: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,159 INFO L290 TraceCheckUtils]: 21: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,160 INFO L290 TraceCheckUtils]: 22: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,160 INFO L290 TraceCheckUtils]: 23: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,160 INFO L290 TraceCheckUtils]: 24: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,161 INFO L290 TraceCheckUtils]: 25: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,161 INFO L290 TraceCheckUtils]: 26: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,162 INFO L290 TraceCheckUtils]: 27: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,162 INFO L290 TraceCheckUtils]: 28: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,162 INFO L290 TraceCheckUtils]: 29: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,163 INFO L290 TraceCheckUtils]: 30: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,163 INFO L290 TraceCheckUtils]: 31: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,163 INFO L290 TraceCheckUtils]: 32: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,164 INFO L290 TraceCheckUtils]: 33: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,164 INFO L290 TraceCheckUtils]: 34: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,165 INFO L290 TraceCheckUtils]: 35: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,165 INFO L290 TraceCheckUtils]: 36: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#res#1 := foo_~i~0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,165 INFO L290 TraceCheckUtils]: 37: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,166 INFO L290 TraceCheckUtils]: 38: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,166 INFO L290 TraceCheckUtils]: 39: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} havoc main_#t~ret3#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,167 INFO L290 TraceCheckUtils]: 40: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,167 INFO L290 TraceCheckUtils]: 41: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,167 INFO L290 TraceCheckUtils]: 42: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,168 INFO L290 TraceCheckUtils]: 43: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,168 INFO L290 TraceCheckUtils]: 44: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,169 INFO L290 TraceCheckUtils]: 45: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,169 INFO L290 TraceCheckUtils]: 46: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,169 INFO L290 TraceCheckUtils]: 47: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,170 INFO L290 TraceCheckUtils]: 48: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,170 INFO L290 TraceCheckUtils]: 49: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,171 INFO L290 TraceCheckUtils]: 50: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,171 INFO L290 TraceCheckUtils]: 51: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,171 INFO L290 TraceCheckUtils]: 52: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,172 INFO L290 TraceCheckUtils]: 53: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,172 INFO L290 TraceCheckUtils]: 54: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,172 INFO L290 TraceCheckUtils]: 55: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,173 INFO L290 TraceCheckUtils]: 56: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,173 INFO L290 TraceCheckUtils]: 57: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,174 INFO L290 TraceCheckUtils]: 58: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,174 INFO L290 TraceCheckUtils]: 59: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,174 INFO L290 TraceCheckUtils]: 60: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,175 INFO L290 TraceCheckUtils]: 61: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,175 INFO L290 TraceCheckUtils]: 62: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !(foo_~i~0#1 <= foo_~size#1); {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,175 INFO L290 TraceCheckUtils]: 63: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} foo_#res#1 := foo_~i~0#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,176 INFO L290 TraceCheckUtils]: 64: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,176 INFO L290 TraceCheckUtils]: 65: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,177 INFO L290 TraceCheckUtils]: 66: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} havoc main_#t~ret3#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,177 INFO L290 TraceCheckUtils]: 67: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} is VALID [2022-02-20 23:50:07,178 INFO L290 TraceCheckUtils]: 68: Hoare triple {11214#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (= (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|) 32))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:07,178 INFO L290 TraceCheckUtils]: 69: Hoare triple {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:07,178 INFO L290 TraceCheckUtils]: 70: Hoare triple {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:07,179 INFO L290 TraceCheckUtils]: 71: Hoare triple {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:07,179 INFO L290 TraceCheckUtils]: 72: Hoare triple {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:07,180 INFO L290 TraceCheckUtils]: 73: Hoare triple {11215#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} is VALID [2022-02-20 23:50:07,180 INFO L290 TraceCheckUtils]: 74: Hoare triple {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} is VALID [2022-02-20 23:50:07,180 INFO L290 TraceCheckUtils]: 75: Hoare triple {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} is VALID [2022-02-20 23:50:07,181 INFO L290 TraceCheckUtils]: 76: Hoare triple {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} is VALID [2022-02-20 23:50:07,181 INFO L290 TraceCheckUtils]: 77: Hoare triple {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} is VALID [2022-02-20 23:50:07,182 INFO L290 TraceCheckUtils]: 78: Hoare triple {11216#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 1) (= |ULTIMATE.start_foo_~b#1.offset| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:07,182 INFO L290 TraceCheckUtils]: 79: Hoare triple {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:07,183 INFO L290 TraceCheckUtils]: 80: Hoare triple {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:07,183 INFO L290 TraceCheckUtils]: 81: Hoare triple {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:07,183 INFO L290 TraceCheckUtils]: 82: Hoare triple {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:07,184 INFO L290 TraceCheckUtils]: 83: Hoare triple {11217#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:07,184 INFO L290 TraceCheckUtils]: 84: Hoare triple {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} assume !!(foo_~i~0#1 <= foo_~size#1); {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:07,185 INFO L290 TraceCheckUtils]: 85: Hoare triple {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:07,185 INFO L290 TraceCheckUtils]: 86: Hoare triple {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:07,186 INFO L290 TraceCheckUtils]: 87: Hoare triple {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:07,186 INFO L290 TraceCheckUtils]: 88: Hoare triple {11218#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= |ULTIMATE.start_foo_~i~0#1| 3))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11219#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0))} is VALID [2022-02-20 23:50:07,186 INFO L290 TraceCheckUtils]: 89: Hoare triple {11219#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {11219#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0))} is VALID [2022-02-20 23:50:07,187 INFO L290 TraceCheckUtils]: 90: Hoare triple {11219#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11220#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:07,187 INFO L290 TraceCheckUtils]: 91: Hoare triple {11220#(and (= (+ (select |#length| |ULTIMATE.start_foo_~b#1.base|) (- 32)) 0) (<= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !(1 + (foo_~b#1.offset + foo_~i~0#1) <= #length[foo_~b#1.base] && 0 <= foo_~b#1.offset + foo_~i~0#1); {11213#false} is VALID [2022-02-20 23:50:07,188 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 0 proven. 264 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2022-02-20 23:50:07,188 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:50:07,188 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2045108880] [2022-02-20 23:50:07,188 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2045108880] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:50:07,188 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [216471527] [2022-02-20 23:50:07,188 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:50:07,188 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:07,188 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:50:07,189 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:50:07,190 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:50:07,291 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:07,292 INFO L263 TraceCheckSpWp]: Trace formula consists of 336 conjuncts, 27 conjunts are in the unsatisfiable core [2022-02-20 23:50:07,321 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:07,322 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:50:07,371 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-02-20 23:50:07,372 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 9 treesize of output 15 [2022-02-20 23:50:08,116 INFO L290 TraceCheckUtils]: 0: Hoare triple {11212#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11212#true} is VALID [2022-02-20 23:50:08,117 INFO L290 TraceCheckUtils]: 1: Hoare triple {11212#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,117 INFO L290 TraceCheckUtils]: 2: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,117 INFO L290 TraceCheckUtils]: 3: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,118 INFO L290 TraceCheckUtils]: 4: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,118 INFO L290 TraceCheckUtils]: 5: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,119 INFO L290 TraceCheckUtils]: 6: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,119 INFO L290 TraceCheckUtils]: 7: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,119 INFO L290 TraceCheckUtils]: 8: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,120 INFO L290 TraceCheckUtils]: 9: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,120 INFO L290 TraceCheckUtils]: 10: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,121 INFO L290 TraceCheckUtils]: 11: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,121 INFO L290 TraceCheckUtils]: 12: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,121 INFO L290 TraceCheckUtils]: 13: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,122 INFO L290 TraceCheckUtils]: 14: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,122 INFO L290 TraceCheckUtils]: 15: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,123 INFO L290 TraceCheckUtils]: 16: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,123 INFO L290 TraceCheckUtils]: 17: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} havoc main_#t~ret3#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,123 INFO L290 TraceCheckUtils]: 18: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,124 INFO L290 TraceCheckUtils]: 19: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,124 INFO L290 TraceCheckUtils]: 20: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,124 INFO L290 TraceCheckUtils]: 21: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,125 INFO L290 TraceCheckUtils]: 22: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,125 INFO L290 TraceCheckUtils]: 23: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,126 INFO L290 TraceCheckUtils]: 24: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,126 INFO L290 TraceCheckUtils]: 25: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,126 INFO L290 TraceCheckUtils]: 26: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,127 INFO L290 TraceCheckUtils]: 27: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,127 INFO L290 TraceCheckUtils]: 28: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,128 INFO L290 TraceCheckUtils]: 29: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,128 INFO L290 TraceCheckUtils]: 30: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,128 INFO L290 TraceCheckUtils]: 31: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,129 INFO L290 TraceCheckUtils]: 32: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,129 INFO L290 TraceCheckUtils]: 33: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,129 INFO L290 TraceCheckUtils]: 34: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,130 INFO L290 TraceCheckUtils]: 35: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,130 INFO L290 TraceCheckUtils]: 36: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,131 INFO L290 TraceCheckUtils]: 37: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,131 INFO L290 TraceCheckUtils]: 38: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,131 INFO L290 TraceCheckUtils]: 39: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} havoc main_#t~ret3#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,132 INFO L290 TraceCheckUtils]: 40: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,132 INFO L290 TraceCheckUtils]: 41: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,133 INFO L290 TraceCheckUtils]: 42: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,133 INFO L290 TraceCheckUtils]: 43: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,133 INFO L290 TraceCheckUtils]: 44: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,134 INFO L290 TraceCheckUtils]: 45: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,134 INFO L290 TraceCheckUtils]: 46: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,135 INFO L290 TraceCheckUtils]: 47: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,135 INFO L290 TraceCheckUtils]: 48: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,135 INFO L290 TraceCheckUtils]: 49: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,136 INFO L290 TraceCheckUtils]: 50: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,136 INFO L290 TraceCheckUtils]: 51: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,139 INFO L290 TraceCheckUtils]: 52: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,140 INFO L290 TraceCheckUtils]: 53: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,140 INFO L290 TraceCheckUtils]: 54: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,141 INFO L290 TraceCheckUtils]: 55: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,141 INFO L290 TraceCheckUtils]: 56: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,142 INFO L290 TraceCheckUtils]: 57: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,142 INFO L290 TraceCheckUtils]: 58: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,143 INFO L290 TraceCheckUtils]: 59: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,143 INFO L290 TraceCheckUtils]: 60: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,144 INFO L290 TraceCheckUtils]: 61: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,144 INFO L290 TraceCheckUtils]: 62: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !(foo_~i~0#1 <= foo_~size#1); {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,145 INFO L290 TraceCheckUtils]: 63: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} foo_#res#1 := foo_~i~0#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,145 INFO L290 TraceCheckUtils]: 64: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,146 INFO L290 TraceCheckUtils]: 65: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,146 INFO L290 TraceCheckUtils]: 66: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} havoc main_#t~ret3#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,147 INFO L290 TraceCheckUtils]: 67: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} is VALID [2022-02-20 23:50:08,148 INFO L290 TraceCheckUtils]: 68: Hoare triple {11227#(and (= |ULTIMATE.start_main_~#mask~0#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,148 INFO L290 TraceCheckUtils]: 69: Hoare triple {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,149 INFO L290 TraceCheckUtils]: 70: Hoare triple {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,149 INFO L290 TraceCheckUtils]: 71: Hoare triple {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,150 INFO L290 TraceCheckUtils]: 72: Hoare triple {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,150 INFO L290 TraceCheckUtils]: 73: Hoare triple {11429#(and (= |ULTIMATE.start_foo_~b#1.offset| 0) (= |ULTIMATE.start_foo_~i~0#1| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,151 INFO L290 TraceCheckUtils]: 74: Hoare triple {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,152 INFO L290 TraceCheckUtils]: 75: Hoare triple {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,152 INFO L290 TraceCheckUtils]: 76: Hoare triple {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,153 INFO L290 TraceCheckUtils]: 77: Hoare triple {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,153 INFO L290 TraceCheckUtils]: 78: Hoare triple {11445#(and (= (+ (- 1) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,154 INFO L290 TraceCheckUtils]: 79: Hoare triple {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,154 INFO L290 TraceCheckUtils]: 80: Hoare triple {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,155 INFO L290 TraceCheckUtils]: 81: Hoare triple {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,155 INFO L290 TraceCheckUtils]: 82: Hoare triple {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,156 INFO L290 TraceCheckUtils]: 83: Hoare triple {11461#(and (= (+ (- 2) |ULTIMATE.start_foo_~i~0#1|) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,156 INFO L290 TraceCheckUtils]: 84: Hoare triple {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,156 INFO L290 TraceCheckUtils]: 85: Hoare triple {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,157 INFO L290 TraceCheckUtils]: 86: Hoare triple {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,157 INFO L290 TraceCheckUtils]: 87: Hoare triple {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,158 INFO L290 TraceCheckUtils]: 88: Hoare triple {11477#(and (= (+ |ULTIMATE.start_foo_~i~0#1| (- 3)) 0) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11493#(and (= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,158 INFO L290 TraceCheckUtils]: 89: Hoare triple {11493#(and (= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11493#(and (= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,158 INFO L290 TraceCheckUtils]: 90: Hoare triple {11493#(and (= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11493#(and (= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:08,159 INFO L290 TraceCheckUtils]: 91: Hoare triple {11493#(and (= |ULTIMATE.start_foo_~i~0#1| 4) (= |ULTIMATE.start_foo_~b#1.offset| 0) (<= 32 (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !(1 + (foo_~b#1.offset + foo_~i~0#1) <= #length[foo_~b#1.base] && 0 <= foo_~b#1.offset + foo_~i~0#1); {11213#false} is VALID [2022-02-20 23:50:08,159 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 0 proven. 264 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2022-02-20 23:50:08,160 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:50:09,014 INFO L290 TraceCheckUtils]: 91: Hoare triple {11503#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !(1 + (foo_~b#1.offset + foo_~i~0#1) <= #length[foo_~b#1.base] && 0 <= foo_~b#1.offset + foo_~i~0#1); {11213#false} is VALID [2022-02-20 23:50:09,015 INFO L290 TraceCheckUtils]: 90: Hoare triple {11503#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11503#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:09,015 INFO L290 TraceCheckUtils]: 89: Hoare triple {11503#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11503#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:09,016 INFO L290 TraceCheckUtils]: 88: Hoare triple {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11503#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:09,016 INFO L290 TraceCheckUtils]: 87: Hoare triple {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:50:09,017 INFO L290 TraceCheckUtils]: 86: Hoare triple {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:50:09,017 INFO L290 TraceCheckUtils]: 85: Hoare triple {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:50:09,017 INFO L290 TraceCheckUtils]: 84: Hoare triple {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:50:09,018 INFO L290 TraceCheckUtils]: 83: Hoare triple {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11513#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~b#1.offset| 1)))} is VALID [2022-02-20 23:50:09,018 INFO L290 TraceCheckUtils]: 82: Hoare triple {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:09,019 INFO L290 TraceCheckUtils]: 81: Hoare triple {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:09,019 INFO L290 TraceCheckUtils]: 80: Hoare triple {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:09,020 INFO L290 TraceCheckUtils]: 79: Hoare triple {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:09,020 INFO L290 TraceCheckUtils]: 78: Hoare triple {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11529#(and (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 2 |ULTIMATE.start_foo_~b#1.offset|)) (<= (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)))} is VALID [2022-02-20 23:50:09,021 INFO L290 TraceCheckUtils]: 77: Hoare triple {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,021 INFO L290 TraceCheckUtils]: 76: Hoare triple {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,022 INFO L290 TraceCheckUtils]: 75: Hoare triple {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,022 INFO L290 TraceCheckUtils]: 74: Hoare triple {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,022 INFO L290 TraceCheckUtils]: 73: Hoare triple {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11545#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 3 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,023 INFO L290 TraceCheckUtils]: 72: Hoare triple {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,023 INFO L290 TraceCheckUtils]: 71: Hoare triple {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,024 INFO L290 TraceCheckUtils]: 70: Hoare triple {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,024 INFO L290 TraceCheckUtils]: 69: Hoare triple {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,025 INFO L290 TraceCheckUtils]: 68: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11561#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 5 |ULTIMATE.start_foo_~b#1.offset|) (select |#length| |ULTIMATE.start_foo_~b#1.base|)) (<= 0 (+ |ULTIMATE.start_foo_~i~0#1| 4 |ULTIMATE.start_foo_~b#1.offset|)))} is VALID [2022-02-20 23:50:09,025 INFO L290 TraceCheckUtils]: 67: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,025 INFO L290 TraceCheckUtils]: 66: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} havoc main_#t~ret3#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,026 INFO L290 TraceCheckUtils]: 65: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,026 INFO L290 TraceCheckUtils]: 64: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,027 INFO L290 TraceCheckUtils]: 63: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#res#1 := foo_~i~0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,027 INFO L290 TraceCheckUtils]: 62: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,028 INFO L290 TraceCheckUtils]: 61: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,028 INFO L290 TraceCheckUtils]: 60: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,028 INFO L290 TraceCheckUtils]: 59: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,029 INFO L290 TraceCheckUtils]: 58: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,029 INFO L290 TraceCheckUtils]: 57: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,030 INFO L290 TraceCheckUtils]: 56: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,030 INFO L290 TraceCheckUtils]: 55: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,030 INFO L290 TraceCheckUtils]: 54: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,031 INFO L290 TraceCheckUtils]: 53: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,031 INFO L290 TraceCheckUtils]: 52: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,031 INFO L290 TraceCheckUtils]: 51: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,032 INFO L290 TraceCheckUtils]: 50: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,032 INFO L290 TraceCheckUtils]: 49: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,033 INFO L290 TraceCheckUtils]: 48: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,033 INFO L290 TraceCheckUtils]: 47: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,033 INFO L290 TraceCheckUtils]: 46: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,034 INFO L290 TraceCheckUtils]: 45: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,034 INFO L290 TraceCheckUtils]: 44: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,035 INFO L290 TraceCheckUtils]: 43: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,035 INFO L290 TraceCheckUtils]: 42: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,036 INFO L290 TraceCheckUtils]: 41: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,036 INFO L290 TraceCheckUtils]: 40: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,036 INFO L290 TraceCheckUtils]: 39: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} havoc main_#t~ret3#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,037 INFO L290 TraceCheckUtils]: 38: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,037 INFO L290 TraceCheckUtils]: 37: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,038 INFO L290 TraceCheckUtils]: 36: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#res#1 := foo_~i~0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,038 INFO L290 TraceCheckUtils]: 35: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,038 INFO L290 TraceCheckUtils]: 34: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,039 INFO L290 TraceCheckUtils]: 33: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,039 INFO L290 TraceCheckUtils]: 32: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,040 INFO L290 TraceCheckUtils]: 31: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,040 INFO L290 TraceCheckUtils]: 30: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,040 INFO L290 TraceCheckUtils]: 29: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,041 INFO L290 TraceCheckUtils]: 28: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,041 INFO L290 TraceCheckUtils]: 27: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,042 INFO L290 TraceCheckUtils]: 26: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,042 INFO L290 TraceCheckUtils]: 25: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,042 INFO L290 TraceCheckUtils]: 24: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,043 INFO L290 TraceCheckUtils]: 23: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,043 INFO L290 TraceCheckUtils]: 22: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,043 INFO L290 TraceCheckUtils]: 21: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,044 INFO L290 TraceCheckUtils]: 20: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,045 INFO L290 TraceCheckUtils]: 17: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} havoc main_#t~ret3#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,046 INFO L290 TraceCheckUtils]: 16: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,046 INFO L290 TraceCheckUtils]: 15: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,046 INFO L290 TraceCheckUtils]: 14: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#res#1 := foo_~i~0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,047 INFO L290 TraceCheckUtils]: 13: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,047 INFO L290 TraceCheckUtils]: 12: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,048 INFO L290 TraceCheckUtils]: 10: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,049 INFO L290 TraceCheckUtils]: 8: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,049 INFO L290 TraceCheckUtils]: 7: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,050 INFO L290 TraceCheckUtils]: 6: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,050 INFO L290 TraceCheckUtils]: 5: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,050 INFO L290 TraceCheckUtils]: 4: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,051 INFO L290 TraceCheckUtils]: 3: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(foo_~i~0#1 <= foo_~size#1); {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,051 INFO L290 TraceCheckUtils]: 2: Hoare triple {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,052 INFO L290 TraceCheckUtils]: 1: Hoare triple {11212#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {11577#(and (<= (+ 5 |ULTIMATE.start_main_~#mask~0#1.offset|) (select |#length| |ULTIMATE.start_main_~#mask~0#1.base|)) (<= 0 (+ |ULTIMATE.start_main_~#mask~0#1.offset| 4)))} is VALID [2022-02-20 23:50:09,052 INFO L290 TraceCheckUtils]: 0: Hoare triple {11212#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {11212#true} is VALID [2022-02-20 23:50:09,053 INFO L134 CoverageAnalysis]: Checked inductivity of 495 backedges. 0 proven. 264 refuted. 0 times theorem prover too weak. 231 trivial. 0 not checked. [2022-02-20 23:50:09,053 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [216471527] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:50:09,053 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:50:09,053 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [8, 7, 7] total 20 [2022-02-20 23:50:09,053 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [723588826] [2022-02-20 23:50:09,054 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:50:09,054 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 5.6) internal successors, (112), 21 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 92 [2022-02-20 23:50:09,055 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:50:09,055 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 21 states, 20 states have (on average 5.6) internal successors, (112), 21 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:09,152 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:09,152 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-02-20 23:50:09,152 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:50:09,153 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-02-20 23:50:09,153 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=90, Invalid=330, Unknown=0, NotChecked=0, Total=420 [2022-02-20 23:50:09,153 INFO L87 Difference]: Start difference. First operand 123 states and 137 transitions. Second operand has 21 states, 20 states have (on average 5.6) internal successors, (112), 21 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:09,977 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:09,977 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:50:09,978 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-02-20 23:50:09,978 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 20 states have (on average 5.6) internal successors, (112), 21 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 92 [2022-02-20 23:50:09,978 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:50:09,978 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 5.6) internal successors, (112), 21 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:09,980 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 126 transitions. [2022-02-20 23:50:09,980 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 20 states have (on average 5.6) internal successors, (112), 21 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:09,981 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 126 transitions. [2022-02-20 23:50:09,981 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 13 states and 126 transitions. [2022-02-20 23:50:10,104 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 126 edges. 126 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:10,106 INFO L225 Difference]: With dead ends: 160 [2022-02-20 23:50:10,106 INFO L226 Difference]: Without dead ends: 160 [2022-02-20 23:50:10,106 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 200 GetRequests, 171 SyntacticMatches, 0 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 133 ImplicationChecksByTransitivity, 0.4s TimeCoverageRelationStatistics Valid=240, Invalid=690, Unknown=0, NotChecked=0, Total=930 [2022-02-20 23:50:10,106 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 200 mSDsluCounter, 81 mSDsCounter, 0 mSdLazyCounter, 304 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 200 SdHoareTripleChecker+Valid, 93 SdHoareTripleChecker+Invalid, 313 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 304 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-02-20 23:50:10,106 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [200 Valid, 93 Invalid, 313 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 304 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-02-20 23:50:10,107 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 160 states. [2022-02-20 23:50:10,108 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 160 to 124. [2022-02-20 23:50:10,108 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:50:10,109 INFO L82 GeneralOperation]: Start isEquivalent. First operand 160 states. Second operand has 124 states, 122 states have (on average 1.0901639344262295) internal successors, (133), 123 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:10,109 INFO L74 IsIncluded]: Start isIncluded. First operand 160 states. Second operand has 124 states, 122 states have (on average 1.0901639344262295) internal successors, (133), 123 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:10,109 INFO L87 Difference]: Start difference. First operand 160 states. Second operand has 124 states, 122 states have (on average 1.0901639344262295) internal successors, (133), 123 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:10,110 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:10,110 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:50:10,111 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 169 transitions. [2022-02-20 23:50:10,111 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:10,111 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:10,111 INFO L74 IsIncluded]: Start isIncluded. First operand has 124 states, 122 states have (on average 1.0901639344262295) internal successors, (133), 123 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 160 states. [2022-02-20 23:50:10,111 INFO L87 Difference]: Start difference. First operand has 124 states, 122 states have (on average 1.0901639344262295) internal successors, (133), 123 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 160 states. [2022-02-20 23:50:10,113 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:10,113 INFO L93 Difference]: Finished difference Result 160 states and 169 transitions. [2022-02-20 23:50:10,113 INFO L276 IsEmpty]: Start isEmpty. Operand 160 states and 169 transitions. [2022-02-20 23:50:10,113 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:10,113 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:10,113 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:50:10,113 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:50:10,113 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 124 states, 122 states have (on average 1.0901639344262295) internal successors, (133), 123 states have internal predecessors, (133), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:10,114 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 124 states to 124 states and 133 transitions. [2022-02-20 23:50:10,114 INFO L78 Accepts]: Start accepts. Automaton has 124 states and 133 transitions. Word has length 92 [2022-02-20 23:50:10,114 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:50:10,114 INFO L470 AbstractCegarLoop]: Abstraction has 124 states and 133 transitions. [2022-02-20 23:50:10,115 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 20 states have (on average 5.6) internal successors, (112), 21 states have internal predecessors, (112), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:10,115 INFO L276 IsEmpty]: Start isEmpty. Operand 124 states and 133 transitions. [2022-02-20 23:50:10,115 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 122 [2022-02-20 23:50:10,115 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:50:10,116 INFO L514 BasicCegarLoop]: trace histogram [20, 19, 19, 19, 19, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1] [2022-02-20 23:50:10,141 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:50:10,331 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,SelfDestructingSolverStorable22 [2022-02-20 23:50:10,331 INFO L402 AbstractCegarLoop]: === Iteration 24 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:50:10,332 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:50:10,332 INFO L85 PathProgramCache]: Analyzing trace with hash 129325764, now seen corresponding path program 4 times [2022-02-20 23:50:10,332 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:50:10,332 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [366335172] [2022-02-20 23:50:10,332 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:50:10,332 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:50:10,399 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:10,567 INFO L290 TraceCheckUtils]: 0: Hoare triple {12405#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12405#true} is VALID [2022-02-20 23:50:10,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {12405#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {12405#true} is VALID [2022-02-20 23:50:10,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {12405#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12405#true} is VALID [2022-02-20 23:50:10,567 INFO L290 TraceCheckUtils]: 3: Hoare triple {12405#true} assume !!(foo_~i~0#1 <= foo_~size#1); {12405#true} is VALID [2022-02-20 23:50:10,567 INFO L290 TraceCheckUtils]: 4: Hoare triple {12405#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12405#true} is VALID [2022-02-20 23:50:10,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {12405#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12405#true} is VALID [2022-02-20 23:50:10,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {12405#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 7: Hoare triple {12405#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 8: Hoare triple {12405#true} assume !!(foo_~i~0#1 <= foo_~size#1); {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 9: Hoare triple {12405#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 10: Hoare triple {12405#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {12405#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {12405#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 13: Hoare triple {12405#true} assume !(foo_~i~0#1 <= foo_~size#1); {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 14: Hoare triple {12405#true} foo_#res#1 := foo_~i~0#1; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 15: Hoare triple {12405#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 16: Hoare triple {12405#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 17: Hoare triple {12405#true} havoc main_#t~ret3#1; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 18: Hoare triple {12405#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 19: Hoare triple {12405#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12405#true} is VALID [2022-02-20 23:50:10,568 INFO L290 TraceCheckUtils]: 20: Hoare triple {12405#true} assume !!(foo_~i~0#1 <= foo_~size#1); {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 21: Hoare triple {12405#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 22: Hoare triple {12405#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 23: Hoare triple {12405#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 24: Hoare triple {12405#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 25: Hoare triple {12405#true} assume !!(foo_~i~0#1 <= foo_~size#1); {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 26: Hoare triple {12405#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 27: Hoare triple {12405#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 28: Hoare triple {12405#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 29: Hoare triple {12405#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 30: Hoare triple {12405#true} assume !!(foo_~i~0#1 <= foo_~size#1); {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 31: Hoare triple {12405#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 32: Hoare triple {12405#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 33: Hoare triple {12405#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12405#true} is VALID [2022-02-20 23:50:10,569 INFO L290 TraceCheckUtils]: 34: Hoare triple {12405#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12405#true} is VALID [2022-02-20 23:50:10,570 INFO L290 TraceCheckUtils]: 35: Hoare triple {12405#true} assume !(foo_~i~0#1 <= foo_~size#1); {12405#true} is VALID [2022-02-20 23:50:10,570 INFO L290 TraceCheckUtils]: 36: Hoare triple {12405#true} foo_#res#1 := foo_~i~0#1; {12405#true} is VALID [2022-02-20 23:50:10,570 INFO L290 TraceCheckUtils]: 37: Hoare triple {12405#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {12405#true} is VALID [2022-02-20 23:50:10,570 INFO L290 TraceCheckUtils]: 38: Hoare triple {12405#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {12405#true} is VALID [2022-02-20 23:50:10,570 INFO L290 TraceCheckUtils]: 39: Hoare triple {12405#true} havoc main_#t~ret3#1; {12405#true} is VALID [2022-02-20 23:50:10,570 INFO L290 TraceCheckUtils]: 40: Hoare triple {12405#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {12405#true} is VALID [2022-02-20 23:50:10,570 INFO L290 TraceCheckUtils]: 41: Hoare triple {12405#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,571 INFO L290 TraceCheckUtils]: 42: Hoare triple {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,571 INFO L290 TraceCheckUtils]: 43: Hoare triple {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,572 INFO L290 TraceCheckUtils]: 44: Hoare triple {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,572 INFO L290 TraceCheckUtils]: 45: Hoare triple {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,572 INFO L290 TraceCheckUtils]: 46: Hoare triple {12407#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,573 INFO L290 TraceCheckUtils]: 47: Hoare triple {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,573 INFO L290 TraceCheckUtils]: 48: Hoare triple {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,574 INFO L290 TraceCheckUtils]: 49: Hoare triple {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,574 INFO L290 TraceCheckUtils]: 50: Hoare triple {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,574 INFO L290 TraceCheckUtils]: 51: Hoare triple {12408#(and (<= |ULTIMATE.start_foo_~i~0#1| 1) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,575 INFO L290 TraceCheckUtils]: 52: Hoare triple {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,575 INFO L290 TraceCheckUtils]: 53: Hoare triple {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,576 INFO L290 TraceCheckUtils]: 54: Hoare triple {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,576 INFO L290 TraceCheckUtils]: 55: Hoare triple {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,576 INFO L290 TraceCheckUtils]: 56: Hoare triple {12409#(and (<= |ULTIMATE.start_foo_~i~0#1| 2) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,577 INFO L290 TraceCheckUtils]: 57: Hoare triple {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,577 INFO L290 TraceCheckUtils]: 58: Hoare triple {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,578 INFO L290 TraceCheckUtils]: 59: Hoare triple {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,578 INFO L290 TraceCheckUtils]: 60: Hoare triple {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,578 INFO L290 TraceCheckUtils]: 61: Hoare triple {12410#(and (<= |ULTIMATE.start_foo_~i~0#1| 3) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12411#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:10,579 INFO L290 TraceCheckUtils]: 62: Hoare triple {12411#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:10,579 INFO L290 TraceCheckUtils]: 63: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_#res#1 := foo_~i~0#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:10,579 INFO L290 TraceCheckUtils]: 64: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:10,580 INFO L290 TraceCheckUtils]: 65: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:10,580 INFO L290 TraceCheckUtils]: 66: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} havoc main_#t~ret3#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:10,583 INFO L290 TraceCheckUtils]: 67: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {12413#(<= |ULTIMATE.start_main_~i~1#1| 3)} is VALID [2022-02-20 23:50:10,584 INFO L290 TraceCheckUtils]: 68: Hoare triple {12413#(<= |ULTIMATE.start_main_~i~1#1| 3)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,584 INFO L290 TraceCheckUtils]: 69: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume !!(foo_~i~0#1 <= foo_~size#1); {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,585 INFO L290 TraceCheckUtils]: 70: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,585 INFO L290 TraceCheckUtils]: 71: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,585 INFO L290 TraceCheckUtils]: 72: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,585 INFO L290 TraceCheckUtils]: 73: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,586 INFO L290 TraceCheckUtils]: 74: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume !!(foo_~i~0#1 <= foo_~size#1); {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,586 INFO L290 TraceCheckUtils]: 75: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,586 INFO L290 TraceCheckUtils]: 76: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,587 INFO L290 TraceCheckUtils]: 77: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,587 INFO L290 TraceCheckUtils]: 78: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,587 INFO L290 TraceCheckUtils]: 79: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume !!(foo_~i~0#1 <= foo_~size#1); {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,587 INFO L290 TraceCheckUtils]: 80: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,588 INFO L290 TraceCheckUtils]: 81: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,588 INFO L290 TraceCheckUtils]: 82: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,588 INFO L290 TraceCheckUtils]: 83: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,589 INFO L290 TraceCheckUtils]: 84: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume !!(foo_~i~0#1 <= foo_~size#1); {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,589 INFO L290 TraceCheckUtils]: 85: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,589 INFO L290 TraceCheckUtils]: 86: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,589 INFO L290 TraceCheckUtils]: 87: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,590 INFO L290 TraceCheckUtils]: 88: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,590 INFO L290 TraceCheckUtils]: 89: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume !!(foo_~i~0#1 <= foo_~size#1); {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,590 INFO L290 TraceCheckUtils]: 90: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,590 INFO L290 TraceCheckUtils]: 91: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,591 INFO L290 TraceCheckUtils]: 92: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,591 INFO L290 TraceCheckUtils]: 93: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,591 INFO L290 TraceCheckUtils]: 94: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume !!(foo_~i~0#1 <= foo_~size#1); {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} is VALID [2022-02-20 23:50:10,592 INFO L290 TraceCheckUtils]: 95: Hoare triple {12414#(<= |ULTIMATE.start_foo_~size#1| 4)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:10,592 INFO L290 TraceCheckUtils]: 96: Hoare triple {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:10,592 INFO L290 TraceCheckUtils]: 97: Hoare triple {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:10,593 INFO L290 TraceCheckUtils]: 98: Hoare triple {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:10,593 INFO L290 TraceCheckUtils]: 99: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} assume !!(foo_~i~0#1 <= foo_~size#1); {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:10,593 INFO L290 TraceCheckUtils]: 100: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:10,594 INFO L290 TraceCheckUtils]: 101: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:10,594 INFO L290 TraceCheckUtils]: 102: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:10,595 INFO L290 TraceCheckUtils]: 103: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:10,595 INFO L290 TraceCheckUtils]: 104: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:10,596 INFO L290 TraceCheckUtils]: 105: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:10,596 INFO L290 TraceCheckUtils]: 106: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:10,597 INFO L290 TraceCheckUtils]: 107: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:10,597 INFO L290 TraceCheckUtils]: 108: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:10,597 INFO L290 TraceCheckUtils]: 109: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:10,598 INFO L290 TraceCheckUtils]: 110: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:10,598 INFO L290 TraceCheckUtils]: 111: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:10,598 INFO L290 TraceCheckUtils]: 112: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:10,599 INFO L290 TraceCheckUtils]: 113: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:10,599 INFO L290 TraceCheckUtils]: 114: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:10,599 INFO L290 TraceCheckUtils]: 115: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:10,600 INFO L290 TraceCheckUtils]: 116: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:10,600 INFO L290 TraceCheckUtils]: 117: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:10,600 INFO L290 TraceCheckUtils]: 118: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12420#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:10,601 INFO L290 TraceCheckUtils]: 119: Hoare triple {12420#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {12406#false} is VALID [2022-02-20 23:50:10,601 INFO L290 TraceCheckUtils]: 120: Hoare triple {12406#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {12406#false} is VALID [2022-02-20 23:50:10,601 INFO L134 CoverageAnalysis]: Checked inductivity of 977 backedges. 470 proven. 378 refuted. 0 times theorem prover too weak. 129 trivial. 0 not checked. [2022-02-20 23:50:10,602 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:50:10,602 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [366335172] [2022-02-20 23:50:10,602 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [366335172] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:50:10,602 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1434950272] [2022-02-20 23:50:10,602 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-02-20 23:50:10,602 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:10,602 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:50:10,603 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:50:10,605 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:50:10,737 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-02-20 23:50:10,738 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:50:10,739 INFO L263 TraceCheckSpWp]: Trace formula consists of 418 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:50:10,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:10,764 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:50:11,597 INFO L290 TraceCheckUtils]: 0: Hoare triple {12405#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12405#true} is VALID [2022-02-20 23:50:11,598 INFO L290 TraceCheckUtils]: 1: Hoare triple {12405#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,599 INFO L290 TraceCheckUtils]: 2: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,599 INFO L290 TraceCheckUtils]: 3: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,599 INFO L290 TraceCheckUtils]: 4: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,599 INFO L290 TraceCheckUtils]: 5: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,600 INFO L290 TraceCheckUtils]: 6: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,600 INFO L290 TraceCheckUtils]: 7: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,600 INFO L290 TraceCheckUtils]: 8: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !!(foo_~i~0#1 <= foo_~size#1); {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,601 INFO L290 TraceCheckUtils]: 9: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,601 INFO L290 TraceCheckUtils]: 10: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,601 INFO L290 TraceCheckUtils]: 11: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} assume !(foo_~i~0#1 <= foo_~size#1); {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,616 INFO L290 TraceCheckUtils]: 14: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} foo_#res#1 := foo_~i~0#1; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,617 INFO L290 TraceCheckUtils]: 15: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,617 INFO L290 TraceCheckUtils]: 16: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,617 INFO L290 TraceCheckUtils]: 17: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} havoc main_#t~ret3#1; {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} is VALID [2022-02-20 23:50:11,618 INFO L290 TraceCheckUtils]: 18: Hoare triple {12427#(<= |ULTIMATE.start_main_~i~1#1| 0)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,618 INFO L290 TraceCheckUtils]: 19: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,618 INFO L290 TraceCheckUtils]: 20: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,619 INFO L290 TraceCheckUtils]: 21: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,619 INFO L290 TraceCheckUtils]: 23: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,619 INFO L290 TraceCheckUtils]: 24: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,620 INFO L290 TraceCheckUtils]: 26: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,620 INFO L290 TraceCheckUtils]: 27: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,621 INFO L290 TraceCheckUtils]: 28: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,621 INFO L290 TraceCheckUtils]: 29: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,621 INFO L290 TraceCheckUtils]: 30: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !!(foo_~i~0#1 <= foo_~size#1); {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,621 INFO L290 TraceCheckUtils]: 31: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,622 INFO L290 TraceCheckUtils]: 32: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,622 INFO L290 TraceCheckUtils]: 33: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,622 INFO L290 TraceCheckUtils]: 34: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,623 INFO L290 TraceCheckUtils]: 35: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} assume !(foo_~i~0#1 <= foo_~size#1); {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,623 INFO L290 TraceCheckUtils]: 36: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} foo_#res#1 := foo_~i~0#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,623 INFO L290 TraceCheckUtils]: 37: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,623 INFO L290 TraceCheckUtils]: 38: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,624 INFO L290 TraceCheckUtils]: 39: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} havoc main_#t~ret3#1; {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} is VALID [2022-02-20 23:50:11,624 INFO L290 TraceCheckUtils]: 40: Hoare triple {12479#(<= |ULTIMATE.start_main_~i~1#1| 1)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,624 INFO L290 TraceCheckUtils]: 41: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,625 INFO L290 TraceCheckUtils]: 42: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !!(foo_~i~0#1 <= foo_~size#1); {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,625 INFO L290 TraceCheckUtils]: 43: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,625 INFO L290 TraceCheckUtils]: 44: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,626 INFO L290 TraceCheckUtils]: 45: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,626 INFO L290 TraceCheckUtils]: 46: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,626 INFO L290 TraceCheckUtils]: 47: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !!(foo_~i~0#1 <= foo_~size#1); {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,626 INFO L290 TraceCheckUtils]: 48: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,627 INFO L290 TraceCheckUtils]: 49: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,627 INFO L290 TraceCheckUtils]: 50: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,627 INFO L290 TraceCheckUtils]: 51: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,628 INFO L290 TraceCheckUtils]: 52: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !!(foo_~i~0#1 <= foo_~size#1); {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,628 INFO L290 TraceCheckUtils]: 53: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,628 INFO L290 TraceCheckUtils]: 54: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,628 INFO L290 TraceCheckUtils]: 55: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,629 INFO L290 TraceCheckUtils]: 56: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,629 INFO L290 TraceCheckUtils]: 57: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !!(foo_~i~0#1 <= foo_~size#1); {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,629 INFO L290 TraceCheckUtils]: 58: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,630 INFO L290 TraceCheckUtils]: 59: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,630 INFO L290 TraceCheckUtils]: 60: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,630 INFO L290 TraceCheckUtils]: 61: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,630 INFO L290 TraceCheckUtils]: 62: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} assume !(foo_~i~0#1 <= foo_~size#1); {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,631 INFO L290 TraceCheckUtils]: 63: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} foo_#res#1 := foo_~i~0#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,631 INFO L290 TraceCheckUtils]: 64: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,631 INFO L290 TraceCheckUtils]: 65: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,632 INFO L290 TraceCheckUtils]: 66: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} havoc main_#t~ret3#1; {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} is VALID [2022-02-20 23:50:11,632 INFO L290 TraceCheckUtils]: 67: Hoare triple {12412#(<= |ULTIMATE.start_main_~i~1#1| 2)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {12413#(<= |ULTIMATE.start_main_~i~1#1| 3)} is VALID [2022-02-20 23:50:11,633 INFO L290 TraceCheckUtils]: 68: Hoare triple {12413#(<= |ULTIMATE.start_main_~i~1#1| 3)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,633 INFO L290 TraceCheckUtils]: 69: Hoare triple {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,633 INFO L290 TraceCheckUtils]: 70: Hoare triple {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,634 INFO L290 TraceCheckUtils]: 71: Hoare triple {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,634 INFO L290 TraceCheckUtils]: 72: Hoare triple {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,635 INFO L290 TraceCheckUtils]: 73: Hoare triple {12630#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,636 INFO L290 TraceCheckUtils]: 74: Hoare triple {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,636 INFO L290 TraceCheckUtils]: 75: Hoare triple {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,637 INFO L290 TraceCheckUtils]: 76: Hoare triple {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,637 INFO L290 TraceCheckUtils]: 77: Hoare triple {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,637 INFO L290 TraceCheckUtils]: 78: Hoare triple {12646#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,638 INFO L290 TraceCheckUtils]: 79: Hoare triple {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,638 INFO L290 TraceCheckUtils]: 80: Hoare triple {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,639 INFO L290 TraceCheckUtils]: 81: Hoare triple {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,639 INFO L290 TraceCheckUtils]: 82: Hoare triple {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,639 INFO L290 TraceCheckUtils]: 83: Hoare triple {12662#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,640 INFO L290 TraceCheckUtils]: 84: Hoare triple {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume !!(foo_~i~0#1 <= foo_~size#1); {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,640 INFO L290 TraceCheckUtils]: 85: Hoare triple {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,640 INFO L290 TraceCheckUtils]: 86: Hoare triple {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,641 INFO L290 TraceCheckUtils]: 87: Hoare triple {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,641 INFO L290 TraceCheckUtils]: 88: Hoare triple {12678#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,642 INFO L290 TraceCheckUtils]: 89: Hoare triple {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume !!(foo_~i~0#1 <= foo_~size#1); {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,642 INFO L290 TraceCheckUtils]: 90: Hoare triple {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,642 INFO L290 TraceCheckUtils]: 91: Hoare triple {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,643 INFO L290 TraceCheckUtils]: 92: Hoare triple {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,643 INFO L290 TraceCheckUtils]: 93: Hoare triple {12694#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,644 INFO L290 TraceCheckUtils]: 94: Hoare triple {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,644 INFO L290 TraceCheckUtils]: 95: Hoare triple {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,644 INFO L290 TraceCheckUtils]: 96: Hoare triple {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,645 INFO L290 TraceCheckUtils]: 97: Hoare triple {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,645 INFO L290 TraceCheckUtils]: 98: Hoare triple {12710#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,646 INFO L290 TraceCheckUtils]: 99: Hoare triple {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume !!(foo_~i~0#1 <= foo_~size#1); {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,646 INFO L290 TraceCheckUtils]: 100: Hoare triple {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,646 INFO L290 TraceCheckUtils]: 101: Hoare triple {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,647 INFO L290 TraceCheckUtils]: 102: Hoare triple {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,647 INFO L290 TraceCheckUtils]: 103: Hoare triple {12726#(and (<= 6 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,648 INFO L290 TraceCheckUtils]: 104: Hoare triple {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume !!(foo_~i~0#1 <= foo_~size#1); {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,648 INFO L290 TraceCheckUtils]: 105: Hoare triple {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,648 INFO L290 TraceCheckUtils]: 106: Hoare triple {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,649 INFO L290 TraceCheckUtils]: 107: Hoare triple {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,649 INFO L290 TraceCheckUtils]: 108: Hoare triple {12742#(and (<= 7 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,650 INFO L290 TraceCheckUtils]: 109: Hoare triple {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume !!(foo_~i~0#1 <= foo_~size#1); {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,650 INFO L290 TraceCheckUtils]: 110: Hoare triple {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,650 INFO L290 TraceCheckUtils]: 111: Hoare triple {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,651 INFO L290 TraceCheckUtils]: 112: Hoare triple {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,651 INFO L290 TraceCheckUtils]: 113: Hoare triple {12758#(and (<= 8 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,652 INFO L290 TraceCheckUtils]: 114: Hoare triple {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,652 INFO L290 TraceCheckUtils]: 115: Hoare triple {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,652 INFO L290 TraceCheckUtils]: 116: Hoare triple {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,653 INFO L290 TraceCheckUtils]: 117: Hoare triple {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:11,653 INFO L290 TraceCheckUtils]: 118: Hoare triple {12774#(and (<= |ULTIMATE.start_foo_~size#1| 4) (<= 9 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12790#(and (<= 10 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} is VALID [2022-02-20 23:50:11,654 INFO L290 TraceCheckUtils]: 119: Hoare triple {12790#(and (<= 10 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| 4))} assume !!(foo_~i~0#1 <= foo_~size#1); {12406#false} is VALID [2022-02-20 23:50:11,654 INFO L290 TraceCheckUtils]: 120: Hoare triple {12406#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {12406#false} is VALID [2022-02-20 23:50:11,654 INFO L134 CoverageAnalysis]: Checked inductivity of 977 backedges. 254 proven. 664 refuted. 0 times theorem prover too weak. 59 trivial. 0 not checked. [2022-02-20 23:50:11,654 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:50:12,298 INFO L290 TraceCheckUtils]: 120: Hoare triple {12406#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {12406#false} is VALID [2022-02-20 23:50:12,299 INFO L290 TraceCheckUtils]: 119: Hoare triple {12420#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {12406#false} is VALID [2022-02-20 23:50:12,300 INFO L290 TraceCheckUtils]: 118: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12420#(<= (+ |ULTIMATE.start_foo_~size#1| 1) |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:12,300 INFO L290 TraceCheckUtils]: 117: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:12,300 INFO L290 TraceCheckUtils]: 116: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:12,300 INFO L290 TraceCheckUtils]: 115: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:12,301 INFO L290 TraceCheckUtils]: 114: Hoare triple {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:12,301 INFO L290 TraceCheckUtils]: 113: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12419#(<= |ULTIMATE.start_foo_~size#1| |ULTIMATE.start_foo_~i~0#1|)} is VALID [2022-02-20 23:50:12,301 INFO L290 TraceCheckUtils]: 112: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:12,302 INFO L290 TraceCheckUtils]: 111: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:12,302 INFO L290 TraceCheckUtils]: 110: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:12,302 INFO L290 TraceCheckUtils]: 109: Hoare triple {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:12,303 INFO L290 TraceCheckUtils]: 108: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12418#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:12,303 INFO L290 TraceCheckUtils]: 107: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:12,304 INFO L290 TraceCheckUtils]: 106: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:12,304 INFO L290 TraceCheckUtils]: 105: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:12,304 INFO L290 TraceCheckUtils]: 104: Hoare triple {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:12,305 INFO L290 TraceCheckUtils]: 103: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12417#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:12,305 INFO L290 TraceCheckUtils]: 102: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:12,305 INFO L290 TraceCheckUtils]: 101: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:12,306 INFO L290 TraceCheckUtils]: 100: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:12,306 INFO L290 TraceCheckUtils]: 99: Hoare triple {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} assume !!(foo_~i~0#1 <= foo_~size#1); {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:12,307 INFO L290 TraceCheckUtils]: 98: Hoare triple {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12416#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:12,307 INFO L290 TraceCheckUtils]: 97: Hoare triple {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:12,307 INFO L290 TraceCheckUtils]: 96: Hoare triple {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:12,307 INFO L290 TraceCheckUtils]: 95: Hoare triple {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:12,308 INFO L290 TraceCheckUtils]: 94: Hoare triple {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} assume !!(foo_~i~0#1 <= foo_~size#1); {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:12,308 INFO L290 TraceCheckUtils]: 93: Hoare triple {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12415#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:12,309 INFO L290 TraceCheckUtils]: 92: Hoare triple {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:12,309 INFO L290 TraceCheckUtils]: 91: Hoare triple {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:12,309 INFO L290 TraceCheckUtils]: 90: Hoare triple {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:12,310 INFO L290 TraceCheckUtils]: 89: Hoare triple {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} assume !!(foo_~i~0#1 <= foo_~size#1); {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:12,310 INFO L290 TraceCheckUtils]: 88: Hoare triple {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12878#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:12,310 INFO L290 TraceCheckUtils]: 87: Hoare triple {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} is VALID [2022-02-20 23:50:12,311 INFO L290 TraceCheckUtils]: 86: Hoare triple {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} is VALID [2022-02-20 23:50:12,311 INFO L290 TraceCheckUtils]: 85: Hoare triple {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} is VALID [2022-02-20 23:50:12,311 INFO L290 TraceCheckUtils]: 84: Hoare triple {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} assume !!(foo_~i~0#1 <= foo_~size#1); {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} is VALID [2022-02-20 23:50:12,312 INFO L290 TraceCheckUtils]: 83: Hoare triple {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12894#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 6))} is VALID [2022-02-20 23:50:12,312 INFO L290 TraceCheckUtils]: 82: Hoare triple {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:12,312 INFO L290 TraceCheckUtils]: 81: Hoare triple {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:12,313 INFO L290 TraceCheckUtils]: 80: Hoare triple {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:12,313 INFO L290 TraceCheckUtils]: 79: Hoare triple {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:12,313 INFO L290 TraceCheckUtils]: 78: Hoare triple {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12910#(<= |ULTIMATE.start_foo_~size#1| (+ 7 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:12,314 INFO L290 TraceCheckUtils]: 77: Hoare triple {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} is VALID [2022-02-20 23:50:12,314 INFO L290 TraceCheckUtils]: 76: Hoare triple {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} is VALID [2022-02-20 23:50:12,314 INFO L290 TraceCheckUtils]: 75: Hoare triple {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} is VALID [2022-02-20 23:50:12,315 INFO L290 TraceCheckUtils]: 74: Hoare triple {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} assume !!(foo_~i~0#1 <= foo_~size#1); {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} is VALID [2022-02-20 23:50:12,315 INFO L290 TraceCheckUtils]: 73: Hoare triple {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12926#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 8))} is VALID [2022-02-20 23:50:12,315 INFO L290 TraceCheckUtils]: 72: Hoare triple {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} is VALID [2022-02-20 23:50:12,316 INFO L290 TraceCheckUtils]: 71: Hoare triple {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} is VALID [2022-02-20 23:50:12,316 INFO L290 TraceCheckUtils]: 70: Hoare triple {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} is VALID [2022-02-20 23:50:12,316 INFO L290 TraceCheckUtils]: 69: Hoare triple {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} assume !!(foo_~i~0#1 <= foo_~size#1); {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} is VALID [2022-02-20 23:50:12,317 INFO L290 TraceCheckUtils]: 68: Hoare triple {12958#(<= |ULTIMATE.start_main_~i~1#1| 8)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12942#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 9))} is VALID [2022-02-20 23:50:12,317 INFO L290 TraceCheckUtils]: 67: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {12958#(<= |ULTIMATE.start_main_~i~1#1| 8)} is VALID [2022-02-20 23:50:12,318 INFO L290 TraceCheckUtils]: 66: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} havoc main_#t~ret3#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,318 INFO L290 TraceCheckUtils]: 65: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,318 INFO L290 TraceCheckUtils]: 64: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,318 INFO L290 TraceCheckUtils]: 63: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_#res#1 := foo_~i~0#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,319 INFO L290 TraceCheckUtils]: 62: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume !(foo_~i~0#1 <= foo_~size#1); {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,319 INFO L290 TraceCheckUtils]: 61: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,319 INFO L290 TraceCheckUtils]: 60: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,320 INFO L290 TraceCheckUtils]: 59: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,320 INFO L290 TraceCheckUtils]: 58: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,320 INFO L290 TraceCheckUtils]: 57: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume !!(foo_~i~0#1 <= foo_~size#1); {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,320 INFO L290 TraceCheckUtils]: 56: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,321 INFO L290 TraceCheckUtils]: 55: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,321 INFO L290 TraceCheckUtils]: 54: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,321 INFO L290 TraceCheckUtils]: 53: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,322 INFO L290 TraceCheckUtils]: 52: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume !!(foo_~i~0#1 <= foo_~size#1); {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,322 INFO L290 TraceCheckUtils]: 51: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,322 INFO L290 TraceCheckUtils]: 50: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,322 INFO L290 TraceCheckUtils]: 49: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,323 INFO L290 TraceCheckUtils]: 48: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,323 INFO L290 TraceCheckUtils]: 47: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume !!(foo_~i~0#1 <= foo_~size#1); {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,326 INFO L290 TraceCheckUtils]: 46: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,328 INFO L290 TraceCheckUtils]: 45: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,328 INFO L290 TraceCheckUtils]: 44: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,329 INFO L290 TraceCheckUtils]: 43: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,330 INFO L290 TraceCheckUtils]: 42: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume !!(foo_~i~0#1 <= foo_~size#1); {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,330 INFO L290 TraceCheckUtils]: 41: Hoare triple {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,331 INFO L290 TraceCheckUtils]: 40: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {12962#(<= |ULTIMATE.start_main_~i~1#1| 7)} is VALID [2022-02-20 23:50:12,333 INFO L290 TraceCheckUtils]: 39: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} havoc main_#t~ret3#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,333 INFO L290 TraceCheckUtils]: 38: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,333 INFO L290 TraceCheckUtils]: 37: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,333 INFO L290 TraceCheckUtils]: 36: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} foo_#res#1 := foo_~i~0#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,334 INFO L290 TraceCheckUtils]: 35: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} assume !(foo_~i~0#1 <= foo_~size#1); {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,334 INFO L290 TraceCheckUtils]: 34: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,334 INFO L290 TraceCheckUtils]: 33: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,335 INFO L290 TraceCheckUtils]: 32: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,335 INFO L290 TraceCheckUtils]: 31: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,335 INFO L290 TraceCheckUtils]: 30: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} assume !!(foo_~i~0#1 <= foo_~size#1); {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,335 INFO L290 TraceCheckUtils]: 29: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,336 INFO L290 TraceCheckUtils]: 28: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,336 INFO L290 TraceCheckUtils]: 27: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,336 INFO L290 TraceCheckUtils]: 26: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,337 INFO L290 TraceCheckUtils]: 25: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} assume !!(foo_~i~0#1 <= foo_~size#1); {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,337 INFO L290 TraceCheckUtils]: 24: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,337 INFO L290 TraceCheckUtils]: 23: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,337 INFO L290 TraceCheckUtils]: 22: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,338 INFO L290 TraceCheckUtils]: 21: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,338 INFO L290 TraceCheckUtils]: 20: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} assume !!(foo_~i~0#1 <= foo_~size#1); {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,338 INFO L290 TraceCheckUtils]: 19: Hoare triple {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,339 INFO L290 TraceCheckUtils]: 18: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {13044#(<= |ULTIMATE.start_main_~i~1#1| 6)} is VALID [2022-02-20 23:50:12,339 INFO L290 TraceCheckUtils]: 17: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} havoc main_#t~ret3#1; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,339 INFO L290 TraceCheckUtils]: 16: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,340 INFO L290 TraceCheckUtils]: 15: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,340 INFO L290 TraceCheckUtils]: 14: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} foo_#res#1 := foo_~i~0#1; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,340 INFO L290 TraceCheckUtils]: 13: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} assume !(foo_~i~0#1 <= foo_~size#1); {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,340 INFO L290 TraceCheckUtils]: 12: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,341 INFO L290 TraceCheckUtils]: 11: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,341 INFO L290 TraceCheckUtils]: 10: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,341 INFO L290 TraceCheckUtils]: 9: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,342 INFO L290 TraceCheckUtils]: 8: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} assume !!(foo_~i~0#1 <= foo_~size#1); {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,342 INFO L290 TraceCheckUtils]: 7: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,342 INFO L290 TraceCheckUtils]: 6: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,342 INFO L290 TraceCheckUtils]: 5: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,343 INFO L290 TraceCheckUtils]: 4: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,343 INFO L290 TraceCheckUtils]: 3: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} assume !!(foo_~i~0#1 <= foo_~size#1); {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,343 INFO L290 TraceCheckUtils]: 2: Hoare triple {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,344 INFO L290 TraceCheckUtils]: 1: Hoare triple {12405#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {13111#(<= |ULTIMATE.start_main_~i~1#1| 5)} is VALID [2022-02-20 23:50:12,344 INFO L290 TraceCheckUtils]: 0: Hoare triple {12405#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {12405#true} is VALID [2022-02-20 23:50:12,345 INFO L134 CoverageAnalysis]: Checked inductivity of 977 backedges. 254 proven. 664 refuted. 0 times theorem prover too weak. 59 trivial. 0 not checked. [2022-02-20 23:50:12,345 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1434950272] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:50:12,345 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:50:12,345 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 17, 17] total 38 [2022-02-20 23:50:12,345 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1647625412] [2022-02-20 23:50:12,345 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:50:12,346 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 5.842105263157895) internal successors, (222), 38 states have internal predecessors, (222), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 121 [2022-02-20 23:50:12,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:50:12,347 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 38 states, 38 states have (on average 5.842105263157895) internal successors, (222), 38 states have internal predecessors, (222), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:12,493 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 222 edges. 222 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:12,493 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-02-20 23:50:12,493 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:50:12,494 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-02-20 23:50:12,494 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=338, Invalid=1068, Unknown=0, NotChecked=0, Total=1406 [2022-02-20 23:50:12,494 INFO L87 Difference]: Start difference. First operand 124 states and 133 transitions. Second operand has 38 states, 38 states have (on average 5.842105263157895) internal successors, (222), 38 states have internal predecessors, (222), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:15,247 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:15,248 INFO L93 Difference]: Finished difference Result 371 states and 404 transitions. [2022-02-20 23:50:15,248 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 73 states. [2022-02-20 23:50:15,248 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 5.842105263157895) internal successors, (222), 38 states have internal predecessors, (222), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 121 [2022-02-20 23:50:15,249 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:50:15,249 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 5.842105263157895) internal successors, (222), 38 states have internal predecessors, (222), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:15,252 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 381 transitions. [2022-02-20 23:50:15,252 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 5.842105263157895) internal successors, (222), 38 states have internal predecessors, (222), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:15,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 381 transitions. [2022-02-20 23:50:15,256 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 73 states and 381 transitions. [2022-02-20 23:50:15,586 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 381 edges. 381 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:15,592 INFO L225 Difference]: With dead ends: 371 [2022-02-20 23:50:15,593 INFO L226 Difference]: Without dead ends: 371 [2022-02-20 23:50:15,595 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 320 GetRequests, 219 SyntacticMatches, 1 SemanticMatches, 100 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 3498 ImplicationChecksByTransitivity, 1.4s TimeCoverageRelationStatistics Valid=2257, Invalid=8045, Unknown=0, NotChecked=0, Total=10302 [2022-02-20 23:50:15,596 INFO L933 BasicCegarLoop]: 12 mSDtfsCounter, 627 mSDsluCounter, 92 mSDsCounter, 0 mSdLazyCounter, 821 mSolverCounterSat, 230 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 627 SdHoareTripleChecker+Valid, 104 SdHoareTripleChecker+Invalid, 1051 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 230 IncrementalHoareTripleChecker+Valid, 821 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 23:50:15,596 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [627 Valid, 104 Invalid, 1051 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [230 Valid, 821 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-02-20 23:50:15,597 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 371 states. [2022-02-20 23:50:15,601 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 371 to 354. [2022-02-20 23:50:15,601 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:50:15,601 INFO L82 GeneralOperation]: Start isEquivalent. First operand 371 states. Second operand has 354 states, 352 states have (on average 1.0994318181818181) internal successors, (387), 353 states have internal predecessors, (387), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:15,602 INFO L74 IsIncluded]: Start isIncluded. First operand 371 states. Second operand has 354 states, 352 states have (on average 1.0994318181818181) internal successors, (387), 353 states have internal predecessors, (387), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:15,602 INFO L87 Difference]: Start difference. First operand 371 states. Second operand has 354 states, 352 states have (on average 1.0994318181818181) internal successors, (387), 353 states have internal predecessors, (387), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:15,609 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:15,609 INFO L93 Difference]: Finished difference Result 371 states and 404 transitions. [2022-02-20 23:50:15,609 INFO L276 IsEmpty]: Start isEmpty. Operand 371 states and 404 transitions. [2022-02-20 23:50:15,610 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:15,610 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:15,610 INFO L74 IsIncluded]: Start isIncluded. First operand has 354 states, 352 states have (on average 1.0994318181818181) internal successors, (387), 353 states have internal predecessors, (387), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 371 states. [2022-02-20 23:50:15,610 INFO L87 Difference]: Start difference. First operand has 354 states, 352 states have (on average 1.0994318181818181) internal successors, (387), 353 states have internal predecessors, (387), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 371 states. [2022-02-20 23:50:15,617 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:15,618 INFO L93 Difference]: Finished difference Result 371 states and 404 transitions. [2022-02-20 23:50:15,618 INFO L276 IsEmpty]: Start isEmpty. Operand 371 states and 404 transitions. [2022-02-20 23:50:15,619 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:15,619 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:15,620 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:50:15,620 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:50:15,620 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 354 states, 352 states have (on average 1.0994318181818181) internal successors, (387), 353 states have internal predecessors, (387), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:15,626 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 354 states to 354 states and 387 transitions. [2022-02-20 23:50:15,627 INFO L78 Accepts]: Start accepts. Automaton has 354 states and 387 transitions. Word has length 121 [2022-02-20 23:50:15,627 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:50:15,627 INFO L470 AbstractCegarLoop]: Abstraction has 354 states and 387 transitions. [2022-02-20 23:50:15,627 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 38 states, 38 states have (on average 5.842105263157895) internal successors, (222), 38 states have internal predecessors, (222), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:15,627 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 387 transitions. [2022-02-20 23:50:15,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 282 [2022-02-20 23:50:15,632 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:50:15,632 INFO L514 BasicCegarLoop]: trace histogram [45, 44, 44, 44, 44, 9, 8, 8, 8, 8, 8, 8, 1, 1, 1] [2022-02-20 23:50:15,662 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (18)] Forceful destruction successful, exit code 0 [2022-02-20 23:50:15,855 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable23,18 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:15,855 INFO L402 AbstractCegarLoop]: === Iteration 25 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:50:15,856 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:50:15,856 INFO L85 PathProgramCache]: Analyzing trace with hash 1597142136, now seen corresponding path program 5 times [2022-02-20 23:50:15,856 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:50:15,856 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1704947583] [2022-02-20 23:50:15,856 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:50:15,856 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:50:15,992 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:16,254 INFO L290 TraceCheckUtils]: 0: Hoare triple {14760#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14760#true} is VALID [2022-02-20 23:50:16,254 INFO L290 TraceCheckUtils]: 1: Hoare triple {14760#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {14760#true} is VALID [2022-02-20 23:50:16,254 INFO L290 TraceCheckUtils]: 2: Hoare triple {14760#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14760#true} is VALID [2022-02-20 23:50:16,254 INFO L290 TraceCheckUtils]: 3: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 4: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 5: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 6: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 7: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 8: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 9: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 10: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 11: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 12: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 13: Hoare triple {14760#true} assume !(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 14: Hoare triple {14760#true} foo_#res#1 := foo_~i~0#1; {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 15: Hoare triple {14760#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14760#true} is VALID [2022-02-20 23:50:16,255 INFO L290 TraceCheckUtils]: 16: Hoare triple {14760#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 17: Hoare triple {14760#true} havoc main_#t~ret3#1; {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 18: Hoare triple {14760#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 19: Hoare triple {14760#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 20: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 21: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 22: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 23: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 24: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 25: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 26: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,256 INFO L290 TraceCheckUtils]: 27: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 28: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 29: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 30: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 31: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 32: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 33: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 34: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 35: Hoare triple {14760#true} assume !(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 36: Hoare triple {14760#true} foo_#res#1 := foo_~i~0#1; {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 37: Hoare triple {14760#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 38: Hoare triple {14760#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 39: Hoare triple {14760#true} havoc main_#t~ret3#1; {14760#true} is VALID [2022-02-20 23:50:16,257 INFO L290 TraceCheckUtils]: 40: Hoare triple {14760#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 41: Hoare triple {14760#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 42: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 43: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 44: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 45: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 46: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 47: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 48: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,258 INFO L290 TraceCheckUtils]: 49: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 50: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 51: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 52: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 53: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 54: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 55: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 56: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 57: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 58: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 59: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 60: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 61: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 62: Hoare triple {14760#true} assume !(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:16,259 INFO L290 TraceCheckUtils]: 63: Hoare triple {14760#true} foo_#res#1 := foo_~i~0#1; {14760#true} is VALID [2022-02-20 23:50:16,260 INFO L290 TraceCheckUtils]: 64: Hoare triple {14760#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14760#true} is VALID [2022-02-20 23:50:16,260 INFO L290 TraceCheckUtils]: 65: Hoare triple {14760#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14760#true} is VALID [2022-02-20 23:50:16,260 INFO L290 TraceCheckUtils]: 66: Hoare triple {14760#true} havoc main_#t~ret3#1; {14760#true} is VALID [2022-02-20 23:50:16,260 INFO L290 TraceCheckUtils]: 67: Hoare triple {14760#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14760#true} is VALID [2022-02-20 23:50:16,261 INFO L290 TraceCheckUtils]: 68: Hoare triple {14760#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,261 INFO L290 TraceCheckUtils]: 69: Hoare triple {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,261 INFO L290 TraceCheckUtils]: 70: Hoare triple {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,262 INFO L290 TraceCheckUtils]: 71: Hoare triple {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,262 INFO L290 TraceCheckUtils]: 72: Hoare triple {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,263 INFO L290 TraceCheckUtils]: 73: Hoare triple {14762#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,263 INFO L290 TraceCheckUtils]: 74: Hoare triple {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,264 INFO L290 TraceCheckUtils]: 75: Hoare triple {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,264 INFO L290 TraceCheckUtils]: 76: Hoare triple {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,265 INFO L290 TraceCheckUtils]: 77: Hoare triple {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,265 INFO L290 TraceCheckUtils]: 78: Hoare triple {14763#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,266 INFO L290 TraceCheckUtils]: 79: Hoare triple {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,266 INFO L290 TraceCheckUtils]: 80: Hoare triple {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,266 INFO L290 TraceCheckUtils]: 81: Hoare triple {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,267 INFO L290 TraceCheckUtils]: 82: Hoare triple {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:16,267 INFO L290 TraceCheckUtils]: 83: Hoare triple {14764#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,268 INFO L290 TraceCheckUtils]: 84: Hoare triple {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,268 INFO L290 TraceCheckUtils]: 85: Hoare triple {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,269 INFO L290 TraceCheckUtils]: 86: Hoare triple {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,269 INFO L290 TraceCheckUtils]: 87: Hoare triple {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,270 INFO L290 TraceCheckUtils]: 88: Hoare triple {14765#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14766#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,270 INFO L290 TraceCheckUtils]: 89: Hoare triple {14766#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,271 INFO L290 TraceCheckUtils]: 90: Hoare triple {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,271 INFO L290 TraceCheckUtils]: 91: Hoare triple {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,272 INFO L290 TraceCheckUtils]: 92: Hoare triple {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,272 INFO L290 TraceCheckUtils]: 93: Hoare triple {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:16,273 INFO L290 TraceCheckUtils]: 94: Hoare triple {14767#(and (<= 4 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:16,273 INFO L290 TraceCheckUtils]: 95: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:16,273 INFO L290 TraceCheckUtils]: 96: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:16,274 INFO L290 TraceCheckUtils]: 97: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:16,274 INFO L290 TraceCheckUtils]: 98: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:16,274 INFO L290 TraceCheckUtils]: 99: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14769#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:16,275 INFO L290 TraceCheckUtils]: 100: Hoare triple {14769#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,275 INFO L290 TraceCheckUtils]: 101: Hoare triple {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,276 INFO L290 TraceCheckUtils]: 102: Hoare triple {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,276 INFO L290 TraceCheckUtils]: 103: Hoare triple {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,277 INFO L290 TraceCheckUtils]: 104: Hoare triple {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,277 INFO L290 TraceCheckUtils]: 105: Hoare triple {14770#(and (<= 4 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,278 INFO L290 TraceCheckUtils]: 106: Hoare triple {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,278 INFO L290 TraceCheckUtils]: 107: Hoare triple {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,279 INFO L290 TraceCheckUtils]: 108: Hoare triple {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,279 INFO L290 TraceCheckUtils]: 109: Hoare triple {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,280 INFO L290 TraceCheckUtils]: 110: Hoare triple {14771#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:16,280 INFO L290 TraceCheckUtils]: 111: Hoare triple {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:16,281 INFO L290 TraceCheckUtils]: 112: Hoare triple {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:16,281 INFO L290 TraceCheckUtils]: 113: Hoare triple {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:16,282 INFO L290 TraceCheckUtils]: 114: Hoare triple {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:16,282 INFO L290 TraceCheckUtils]: 115: Hoare triple {14772#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,283 INFO L290 TraceCheckUtils]: 116: Hoare triple {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,283 INFO L290 TraceCheckUtils]: 117: Hoare triple {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,284 INFO L290 TraceCheckUtils]: 118: Hoare triple {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,284 INFO L290 TraceCheckUtils]: 119: Hoare triple {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,285 INFO L290 TraceCheckUtils]: 120: Hoare triple {14773#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,285 INFO L290 TraceCheckUtils]: 121: Hoare triple {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,286 INFO L290 TraceCheckUtils]: 122: Hoare triple {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,286 INFO L290 TraceCheckUtils]: 123: Hoare triple {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,287 INFO L290 TraceCheckUtils]: 124: Hoare triple {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,287 INFO L290 TraceCheckUtils]: 125: Hoare triple {14774#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14775#(and (<= |ULTIMATE.start_foo_~i~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:16,288 INFO L290 TraceCheckUtils]: 126: Hoare triple {14775#(and (<= |ULTIMATE.start_foo_~i~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,288 INFO L290 TraceCheckUtils]: 127: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:16,288 INFO L290 TraceCheckUtils]: 128: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:16,288 INFO L290 TraceCheckUtils]: 129: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:16,288 INFO L290 TraceCheckUtils]: 130: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:16,288 INFO L290 TraceCheckUtils]: 131: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:16,288 INFO L290 TraceCheckUtils]: 132: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:16,289 INFO L290 TraceCheckUtils]: 133: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,289 INFO L290 TraceCheckUtils]: 134: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,289 INFO L290 TraceCheckUtils]: 135: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,289 INFO L290 TraceCheckUtils]: 136: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,289 INFO L290 TraceCheckUtils]: 137: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,289 INFO L290 TraceCheckUtils]: 138: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,289 INFO L290 TraceCheckUtils]: 139: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,290 INFO L290 TraceCheckUtils]: 140: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,290 INFO L290 TraceCheckUtils]: 141: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,290 INFO L290 TraceCheckUtils]: 142: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,290 INFO L290 TraceCheckUtils]: 143: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,290 INFO L290 TraceCheckUtils]: 144: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,290 INFO L290 TraceCheckUtils]: 145: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,290 INFO L290 TraceCheckUtils]: 146: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,291 INFO L290 TraceCheckUtils]: 147: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,291 INFO L290 TraceCheckUtils]: 148: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,291 INFO L290 TraceCheckUtils]: 149: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,291 INFO L290 TraceCheckUtils]: 150: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,291 INFO L290 TraceCheckUtils]: 151: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,291 INFO L290 TraceCheckUtils]: 152: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,291 INFO L290 TraceCheckUtils]: 153: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,291 INFO L290 TraceCheckUtils]: 154: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,292 INFO L290 TraceCheckUtils]: 155: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,292 INFO L290 TraceCheckUtils]: 156: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,292 INFO L290 TraceCheckUtils]: 157: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,292 INFO L290 TraceCheckUtils]: 158: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,292 INFO L290 TraceCheckUtils]: 159: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:16,292 INFO L290 TraceCheckUtils]: 160: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:16,292 INFO L290 TraceCheckUtils]: 161: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:16,293 INFO L290 TraceCheckUtils]: 162: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:16,293 INFO L290 TraceCheckUtils]: 163: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:16,293 INFO L290 TraceCheckUtils]: 164: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:16,293 INFO L290 TraceCheckUtils]: 165: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,293 INFO L290 TraceCheckUtils]: 166: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,293 INFO L290 TraceCheckUtils]: 167: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,293 INFO L290 TraceCheckUtils]: 168: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,294 INFO L290 TraceCheckUtils]: 169: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,294 INFO L290 TraceCheckUtils]: 170: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,294 INFO L290 TraceCheckUtils]: 171: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,294 INFO L290 TraceCheckUtils]: 172: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,294 INFO L290 TraceCheckUtils]: 173: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,294 INFO L290 TraceCheckUtils]: 174: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,294 INFO L290 TraceCheckUtils]: 175: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,294 INFO L290 TraceCheckUtils]: 176: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,295 INFO L290 TraceCheckUtils]: 177: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,295 INFO L290 TraceCheckUtils]: 178: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,295 INFO L290 TraceCheckUtils]: 179: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,295 INFO L290 TraceCheckUtils]: 180: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,295 INFO L290 TraceCheckUtils]: 181: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,295 INFO L290 TraceCheckUtils]: 182: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,295 INFO L290 TraceCheckUtils]: 183: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,296 INFO L290 TraceCheckUtils]: 184: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,296 INFO L290 TraceCheckUtils]: 185: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,296 INFO L290 TraceCheckUtils]: 186: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,296 INFO L290 TraceCheckUtils]: 187: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,296 INFO L290 TraceCheckUtils]: 188: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,296 INFO L290 TraceCheckUtils]: 189: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,296 INFO L290 TraceCheckUtils]: 190: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,296 INFO L290 TraceCheckUtils]: 191: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:16,297 INFO L290 TraceCheckUtils]: 192: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:16,297 INFO L290 TraceCheckUtils]: 193: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:16,297 INFO L290 TraceCheckUtils]: 194: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:16,297 INFO L290 TraceCheckUtils]: 195: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:16,297 INFO L290 TraceCheckUtils]: 196: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:16,297 INFO L290 TraceCheckUtils]: 197: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,297 INFO L290 TraceCheckUtils]: 198: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,298 INFO L290 TraceCheckUtils]: 199: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,298 INFO L290 TraceCheckUtils]: 200: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,298 INFO L290 TraceCheckUtils]: 201: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,298 INFO L290 TraceCheckUtils]: 202: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,298 INFO L290 TraceCheckUtils]: 203: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,298 INFO L290 TraceCheckUtils]: 204: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,298 INFO L290 TraceCheckUtils]: 205: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,299 INFO L290 TraceCheckUtils]: 206: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,299 INFO L290 TraceCheckUtils]: 207: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,299 INFO L290 TraceCheckUtils]: 208: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,299 INFO L290 TraceCheckUtils]: 209: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,299 INFO L290 TraceCheckUtils]: 210: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,299 INFO L290 TraceCheckUtils]: 211: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,299 INFO L290 TraceCheckUtils]: 212: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,299 INFO L290 TraceCheckUtils]: 213: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,300 INFO L290 TraceCheckUtils]: 214: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,300 INFO L290 TraceCheckUtils]: 215: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,300 INFO L290 TraceCheckUtils]: 216: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,300 INFO L290 TraceCheckUtils]: 217: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,300 INFO L290 TraceCheckUtils]: 218: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,300 INFO L290 TraceCheckUtils]: 219: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,300 INFO L290 TraceCheckUtils]: 220: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,301 INFO L290 TraceCheckUtils]: 221: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,301 INFO L290 TraceCheckUtils]: 222: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,301 INFO L290 TraceCheckUtils]: 223: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:16,301 INFO L290 TraceCheckUtils]: 224: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:16,301 INFO L290 TraceCheckUtils]: 225: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:16,301 INFO L290 TraceCheckUtils]: 226: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:16,301 INFO L290 TraceCheckUtils]: 227: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:16,302 INFO L290 TraceCheckUtils]: 228: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:16,302 INFO L290 TraceCheckUtils]: 229: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,302 INFO L290 TraceCheckUtils]: 230: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,302 INFO L290 TraceCheckUtils]: 231: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,302 INFO L290 TraceCheckUtils]: 232: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,302 INFO L290 TraceCheckUtils]: 233: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,302 INFO L290 TraceCheckUtils]: 234: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,303 INFO L290 TraceCheckUtils]: 235: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,303 INFO L290 TraceCheckUtils]: 236: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,303 INFO L290 TraceCheckUtils]: 237: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,303 INFO L290 TraceCheckUtils]: 238: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,303 INFO L290 TraceCheckUtils]: 239: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,303 INFO L290 TraceCheckUtils]: 240: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,303 INFO L290 TraceCheckUtils]: 241: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,304 INFO L290 TraceCheckUtils]: 242: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,304 INFO L290 TraceCheckUtils]: 243: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,304 INFO L290 TraceCheckUtils]: 244: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,304 INFO L290 TraceCheckUtils]: 245: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,304 INFO L290 TraceCheckUtils]: 246: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,304 INFO L290 TraceCheckUtils]: 247: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,304 INFO L290 TraceCheckUtils]: 248: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,304 INFO L290 TraceCheckUtils]: 249: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,305 INFO L290 TraceCheckUtils]: 250: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,305 INFO L290 TraceCheckUtils]: 251: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,305 INFO L290 TraceCheckUtils]: 252: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,305 INFO L290 TraceCheckUtils]: 253: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,305 INFO L290 TraceCheckUtils]: 254: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,305 INFO L290 TraceCheckUtils]: 255: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,305 INFO L290 TraceCheckUtils]: 256: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,306 INFO L290 TraceCheckUtils]: 257: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,306 INFO L290 TraceCheckUtils]: 258: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,306 INFO L290 TraceCheckUtils]: 259: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,306 INFO L290 TraceCheckUtils]: 260: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,306 INFO L290 TraceCheckUtils]: 261: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,306 INFO L290 TraceCheckUtils]: 262: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,306 INFO L290 TraceCheckUtils]: 263: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,306 INFO L290 TraceCheckUtils]: 264: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,307 INFO L290 TraceCheckUtils]: 265: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,307 INFO L290 TraceCheckUtils]: 266: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,307 INFO L290 TraceCheckUtils]: 267: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,307 INFO L290 TraceCheckUtils]: 268: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,307 INFO L290 TraceCheckUtils]: 269: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,307 INFO L290 TraceCheckUtils]: 270: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,307 INFO L290 TraceCheckUtils]: 271: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,308 INFO L290 TraceCheckUtils]: 272: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,308 INFO L290 TraceCheckUtils]: 273: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,308 INFO L290 TraceCheckUtils]: 274: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,308 INFO L290 TraceCheckUtils]: 275: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:16,308 INFO L290 TraceCheckUtils]: 276: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:16,308 INFO L290 TraceCheckUtils]: 277: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:16,308 INFO L290 TraceCheckUtils]: 278: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:16,308 INFO L290 TraceCheckUtils]: 279: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:16,309 INFO L290 TraceCheckUtils]: 280: Hoare triple {14761#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {14761#false} is VALID [2022-02-20 23:50:16,311 INFO L134 CoverageAnalysis]: Checked inductivity of 5382 backedges. 3266 proven. 218 refuted. 0 times theorem prover too weak. 1898 trivial. 0 not checked. [2022-02-20 23:50:16,311 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:50:16,311 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1704947583] [2022-02-20 23:50:16,311 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1704947583] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:50:16,312 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2102285061] [2022-02-20 23:50:16,312 INFO L93 rtionOrderModulation]: Changing assertion order to INSIDE_LOOP_FIRST1 [2022-02-20 23:50:16,312 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:16,312 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:50:16,313 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:50:16,338 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:50:16,530 INFO L228 tOrderPrioritization]: Assert order INSIDE_LOOP_FIRST1 issued 7 check-sat command(s) [2022-02-20 23:50:16,530 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:50:16,533 INFO L263 TraceCheckSpWp]: Trace formula consists of 442 conjuncts, 18 conjunts are in the unsatisfiable core [2022-02-20 23:50:16,576 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:16,578 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:50:17,601 INFO L290 TraceCheckUtils]: 0: Hoare triple {14760#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14760#true} is VALID [2022-02-20 23:50:17,601 INFO L290 TraceCheckUtils]: 1: Hoare triple {14760#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {14760#true} is VALID [2022-02-20 23:50:17,601 INFO L290 TraceCheckUtils]: 2: Hoare triple {14760#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14760#true} is VALID [2022-02-20 23:50:17,601 INFO L290 TraceCheckUtils]: 3: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:17,601 INFO L290 TraceCheckUtils]: 4: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 5: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 6: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 7: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 8: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 9: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 10: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 11: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 12: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 13: Hoare triple {14760#true} assume !(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 14: Hoare triple {14760#true} foo_#res#1 := foo_~i~0#1; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 15: Hoare triple {14760#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 16: Hoare triple {14760#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 17: Hoare triple {14760#true} havoc main_#t~ret3#1; {14760#true} is VALID [2022-02-20 23:50:17,602 INFO L290 TraceCheckUtils]: 18: Hoare triple {14760#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14760#true} is VALID [2022-02-20 23:50:17,603 INFO L290 TraceCheckUtils]: 19: Hoare triple {14760#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14836#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1))} is VALID [2022-02-20 23:50:17,603 INFO L290 TraceCheckUtils]: 20: Hoare triple {14836#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {14836#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1))} is VALID [2022-02-20 23:50:17,604 INFO L290 TraceCheckUtils]: 21: Hoare triple {14836#(<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14843#(and (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:17,604 INFO L290 TraceCheckUtils]: 22: Hoare triple {14843#(and (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14843#(and (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:17,604 INFO L290 TraceCheckUtils]: 23: Hoare triple {14843#(and (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14843#(and (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:17,605 INFO L290 TraceCheckUtils]: 24: Hoare triple {14843#(and (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (<= 0 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:50:17,605 INFO L290 TraceCheckUtils]: 25: Hoare triple {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} assume !!(foo_~i~0#1 <= foo_~size#1); {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:50:17,606 INFO L290 TraceCheckUtils]: 26: Hoare triple {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:50:17,606 INFO L290 TraceCheckUtils]: 27: Hoare triple {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:50:17,606 INFO L290 TraceCheckUtils]: 28: Hoare triple {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} is VALID [2022-02-20 23:50:17,607 INFO L290 TraceCheckUtils]: 29: Hoare triple {14853#(and (<= 1 |ULTIMATE.start_foo_~i~0#1|) (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14869#(and (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:17,607 INFO L290 TraceCheckUtils]: 30: Hoare triple {14869#(and (<= |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,608 INFO L290 TraceCheckUtils]: 31: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,608 INFO L290 TraceCheckUtils]: 32: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,608 INFO L290 TraceCheckUtils]: 33: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,608 INFO L290 TraceCheckUtils]: 34: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,609 INFO L290 TraceCheckUtils]: 35: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,609 INFO L290 TraceCheckUtils]: 36: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,609 INFO L290 TraceCheckUtils]: 37: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,609 INFO L290 TraceCheckUtils]: 38: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,610 INFO L290 TraceCheckUtils]: 39: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,610 INFO L290 TraceCheckUtils]: 40: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,610 INFO L290 TraceCheckUtils]: 41: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,611 INFO L290 TraceCheckUtils]: 42: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,611 INFO L290 TraceCheckUtils]: 43: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,611 INFO L290 TraceCheckUtils]: 44: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,612 INFO L290 TraceCheckUtils]: 45: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,612 INFO L290 TraceCheckUtils]: 46: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,612 INFO L290 TraceCheckUtils]: 47: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,613 INFO L290 TraceCheckUtils]: 48: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,613 INFO L290 TraceCheckUtils]: 49: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,614 INFO L290 TraceCheckUtils]: 50: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,614 INFO L290 TraceCheckUtils]: 51: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,615 INFO L290 TraceCheckUtils]: 52: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,615 INFO L290 TraceCheckUtils]: 53: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,615 INFO L290 TraceCheckUtils]: 54: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,616 INFO L290 TraceCheckUtils]: 55: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,616 INFO L290 TraceCheckUtils]: 56: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,616 INFO L290 TraceCheckUtils]: 57: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,616 INFO L290 TraceCheckUtils]: 58: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,617 INFO L290 TraceCheckUtils]: 59: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,617 INFO L290 TraceCheckUtils]: 60: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,617 INFO L290 TraceCheckUtils]: 61: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,618 INFO L290 TraceCheckUtils]: 62: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,618 INFO L290 TraceCheckUtils]: 63: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,618 INFO L290 TraceCheckUtils]: 64: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,618 INFO L290 TraceCheckUtils]: 65: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,619 INFO L290 TraceCheckUtils]: 66: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,619 INFO L290 TraceCheckUtils]: 67: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,620 INFO L290 TraceCheckUtils]: 68: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,620 INFO L290 TraceCheckUtils]: 69: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,620 INFO L290 TraceCheckUtils]: 70: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,620 INFO L290 TraceCheckUtils]: 71: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,621 INFO L290 TraceCheckUtils]: 72: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,621 INFO L290 TraceCheckUtils]: 73: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,621 INFO L290 TraceCheckUtils]: 74: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,622 INFO L290 TraceCheckUtils]: 75: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,622 INFO L290 TraceCheckUtils]: 76: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,622 INFO L290 TraceCheckUtils]: 77: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,622 INFO L290 TraceCheckUtils]: 78: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,623 INFO L290 TraceCheckUtils]: 79: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,623 INFO L290 TraceCheckUtils]: 80: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,623 INFO L290 TraceCheckUtils]: 81: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,623 INFO L290 TraceCheckUtils]: 82: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,624 INFO L290 TraceCheckUtils]: 83: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,624 INFO L290 TraceCheckUtils]: 84: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,624 INFO L290 TraceCheckUtils]: 85: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,625 INFO L290 TraceCheckUtils]: 86: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,625 INFO L290 TraceCheckUtils]: 87: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,625 INFO L290 TraceCheckUtils]: 88: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,625 INFO L290 TraceCheckUtils]: 89: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,626 INFO L290 TraceCheckUtils]: 90: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,626 INFO L290 TraceCheckUtils]: 91: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,626 INFO L290 TraceCheckUtils]: 92: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,627 INFO L290 TraceCheckUtils]: 93: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,627 INFO L290 TraceCheckUtils]: 94: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,627 INFO L290 TraceCheckUtils]: 95: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,627 INFO L290 TraceCheckUtils]: 96: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,628 INFO L290 TraceCheckUtils]: 97: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,628 INFO L290 TraceCheckUtils]: 98: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,628 INFO L290 TraceCheckUtils]: 99: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14769#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:17,629 INFO L290 TraceCheckUtils]: 100: Hoare triple {14769#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:17,629 INFO L290 TraceCheckUtils]: 101: Hoare triple {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:17,630 INFO L290 TraceCheckUtils]: 102: Hoare triple {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:17,630 INFO L290 TraceCheckUtils]: 103: Hoare triple {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:17,630 INFO L290 TraceCheckUtils]: 104: Hoare triple {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:17,631 INFO L290 TraceCheckUtils]: 105: Hoare triple {15085#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:17,631 INFO L290 TraceCheckUtils]: 106: Hoare triple {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:17,632 INFO L290 TraceCheckUtils]: 107: Hoare triple {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:17,632 INFO L290 TraceCheckUtils]: 108: Hoare triple {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:17,632 INFO L290 TraceCheckUtils]: 109: Hoare triple {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:17,635 INFO L290 TraceCheckUtils]: 110: Hoare triple {15101#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:17,636 INFO L290 TraceCheckUtils]: 111: Hoare triple {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:17,636 INFO L290 TraceCheckUtils]: 112: Hoare triple {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:17,637 INFO L290 TraceCheckUtils]: 113: Hoare triple {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:17,637 INFO L290 TraceCheckUtils]: 114: Hoare triple {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:17,638 INFO L290 TraceCheckUtils]: 115: Hoare triple {15117#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:17,638 INFO L290 TraceCheckUtils]: 116: Hoare triple {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} assume !!(foo_~i~0#1 <= foo_~size#1); {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:17,639 INFO L290 TraceCheckUtils]: 117: Hoare triple {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:17,639 INFO L290 TraceCheckUtils]: 118: Hoare triple {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:17,640 INFO L290 TraceCheckUtils]: 119: Hoare triple {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:17,640 INFO L290 TraceCheckUtils]: 120: Hoare triple {15133#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:17,641 INFO L290 TraceCheckUtils]: 121: Hoare triple {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} assume !!(foo_~i~0#1 <= foo_~size#1); {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:17,641 INFO L290 TraceCheckUtils]: 122: Hoare triple {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:17,642 INFO L290 TraceCheckUtils]: 123: Hoare triple {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:17,642 INFO L290 TraceCheckUtils]: 124: Hoare triple {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} is VALID [2022-02-20 23:50:17,643 INFO L290 TraceCheckUtils]: 125: Hoare triple {15149#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 4))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {15165#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:17,644 INFO L290 TraceCheckUtils]: 126: Hoare triple {15165#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,644 INFO L290 TraceCheckUtils]: 127: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:17,644 INFO L290 TraceCheckUtils]: 128: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:17,644 INFO L290 TraceCheckUtils]: 129: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:17,644 INFO L290 TraceCheckUtils]: 130: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:17,644 INFO L290 TraceCheckUtils]: 131: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:17,644 INFO L290 TraceCheckUtils]: 132: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:17,645 INFO L290 TraceCheckUtils]: 133: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,645 INFO L290 TraceCheckUtils]: 134: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,645 INFO L290 TraceCheckUtils]: 135: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,645 INFO L290 TraceCheckUtils]: 136: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,645 INFO L290 TraceCheckUtils]: 137: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,645 INFO L290 TraceCheckUtils]: 138: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,645 INFO L290 TraceCheckUtils]: 139: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,646 INFO L290 TraceCheckUtils]: 140: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,646 INFO L290 TraceCheckUtils]: 141: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,646 INFO L290 TraceCheckUtils]: 142: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,646 INFO L290 TraceCheckUtils]: 143: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,646 INFO L290 TraceCheckUtils]: 144: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,646 INFO L290 TraceCheckUtils]: 145: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,647 INFO L290 TraceCheckUtils]: 146: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,647 INFO L290 TraceCheckUtils]: 147: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,647 INFO L290 TraceCheckUtils]: 148: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,647 INFO L290 TraceCheckUtils]: 149: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,647 INFO L290 TraceCheckUtils]: 150: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,647 INFO L290 TraceCheckUtils]: 151: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,647 INFO L290 TraceCheckUtils]: 152: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 153: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 154: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 155: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 156: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 157: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 158: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 159: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 160: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 161: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 162: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 163: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:17,648 INFO L290 TraceCheckUtils]: 164: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 165: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 166: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 167: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 168: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 169: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 170: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 171: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 172: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 173: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 174: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 175: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 176: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 177: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,649 INFO L290 TraceCheckUtils]: 178: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 179: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 180: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 181: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 182: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 183: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 184: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 185: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 186: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 187: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 188: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 189: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 190: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,650 INFO L290 TraceCheckUtils]: 191: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:17,651 INFO L290 TraceCheckUtils]: 192: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:17,651 INFO L290 TraceCheckUtils]: 193: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:17,651 INFO L290 TraceCheckUtils]: 194: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:17,651 INFO L290 TraceCheckUtils]: 195: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:17,651 INFO L290 TraceCheckUtils]: 196: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:17,651 INFO L290 TraceCheckUtils]: 197: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,651 INFO L290 TraceCheckUtils]: 198: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,652 INFO L290 TraceCheckUtils]: 199: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,652 INFO L290 TraceCheckUtils]: 200: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,652 INFO L290 TraceCheckUtils]: 201: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,652 INFO L290 TraceCheckUtils]: 202: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,652 INFO L290 TraceCheckUtils]: 203: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,652 INFO L290 TraceCheckUtils]: 204: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,652 INFO L290 TraceCheckUtils]: 205: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,653 INFO L290 TraceCheckUtils]: 206: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,653 INFO L290 TraceCheckUtils]: 207: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,653 INFO L290 TraceCheckUtils]: 208: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,653 INFO L290 TraceCheckUtils]: 209: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,653 INFO L290 TraceCheckUtils]: 210: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,653 INFO L290 TraceCheckUtils]: 211: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,653 INFO L290 TraceCheckUtils]: 212: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,654 INFO L290 TraceCheckUtils]: 213: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,654 INFO L290 TraceCheckUtils]: 214: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,654 INFO L290 TraceCheckUtils]: 215: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,654 INFO L290 TraceCheckUtils]: 216: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,654 INFO L290 TraceCheckUtils]: 217: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,654 INFO L290 TraceCheckUtils]: 218: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,654 INFO L290 TraceCheckUtils]: 219: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,655 INFO L290 TraceCheckUtils]: 220: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,655 INFO L290 TraceCheckUtils]: 221: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,655 INFO L290 TraceCheckUtils]: 222: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,655 INFO L290 TraceCheckUtils]: 223: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:17,655 INFO L290 TraceCheckUtils]: 224: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:17,655 INFO L290 TraceCheckUtils]: 225: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:17,655 INFO L290 TraceCheckUtils]: 226: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:17,656 INFO L290 TraceCheckUtils]: 227: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:17,656 INFO L290 TraceCheckUtils]: 228: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:17,656 INFO L290 TraceCheckUtils]: 229: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,656 INFO L290 TraceCheckUtils]: 230: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,656 INFO L290 TraceCheckUtils]: 231: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,656 INFO L290 TraceCheckUtils]: 232: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,656 INFO L290 TraceCheckUtils]: 233: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,657 INFO L290 TraceCheckUtils]: 234: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,657 INFO L290 TraceCheckUtils]: 235: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,657 INFO L290 TraceCheckUtils]: 236: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,657 INFO L290 TraceCheckUtils]: 237: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,657 INFO L290 TraceCheckUtils]: 238: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,657 INFO L290 TraceCheckUtils]: 239: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,657 INFO L290 TraceCheckUtils]: 240: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,658 INFO L290 TraceCheckUtils]: 241: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,658 INFO L290 TraceCheckUtils]: 242: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,658 INFO L290 TraceCheckUtils]: 243: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,658 INFO L290 TraceCheckUtils]: 244: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,658 INFO L290 TraceCheckUtils]: 245: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,658 INFO L290 TraceCheckUtils]: 246: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,658 INFO L290 TraceCheckUtils]: 247: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,659 INFO L290 TraceCheckUtils]: 248: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,659 INFO L290 TraceCheckUtils]: 249: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,659 INFO L290 TraceCheckUtils]: 250: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,659 INFO L290 TraceCheckUtils]: 251: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,659 INFO L290 TraceCheckUtils]: 252: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,659 INFO L290 TraceCheckUtils]: 253: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,659 INFO L290 TraceCheckUtils]: 254: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,660 INFO L290 TraceCheckUtils]: 255: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,660 INFO L290 TraceCheckUtils]: 256: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,660 INFO L290 TraceCheckUtils]: 257: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,660 INFO L290 TraceCheckUtils]: 258: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,660 INFO L290 TraceCheckUtils]: 259: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,660 INFO L290 TraceCheckUtils]: 260: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,660 INFO L290 TraceCheckUtils]: 261: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,661 INFO L290 TraceCheckUtils]: 262: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,661 INFO L290 TraceCheckUtils]: 263: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,661 INFO L290 TraceCheckUtils]: 264: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,661 INFO L290 TraceCheckUtils]: 265: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,661 INFO L290 TraceCheckUtils]: 266: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,661 INFO L290 TraceCheckUtils]: 267: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,661 INFO L290 TraceCheckUtils]: 268: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,662 INFO L290 TraceCheckUtils]: 269: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,662 INFO L290 TraceCheckUtils]: 270: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,662 INFO L290 TraceCheckUtils]: 271: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,662 INFO L290 TraceCheckUtils]: 272: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,662 INFO L290 TraceCheckUtils]: 273: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,662 INFO L290 TraceCheckUtils]: 274: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,662 INFO L290 TraceCheckUtils]: 275: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:17,663 INFO L290 TraceCheckUtils]: 276: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:17,663 INFO L290 TraceCheckUtils]: 277: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:17,663 INFO L290 TraceCheckUtils]: 278: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:17,663 INFO L290 TraceCheckUtils]: 279: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:17,663 INFO L290 TraceCheckUtils]: 280: Hoare triple {14761#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {14761#false} is VALID [2022-02-20 23:50:17,666 INFO L134 CoverageAnalysis]: Checked inductivity of 5382 backedges. 3117 proven. 501 refuted. 0 times theorem prover too weak. 1764 trivial. 0 not checked. [2022-02-20 23:50:17,666 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:50:18,663 INFO L290 TraceCheckUtils]: 280: Hoare triple {14761#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {14761#false} is VALID [2022-02-20 23:50:18,663 INFO L290 TraceCheckUtils]: 279: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,663 INFO L290 TraceCheckUtils]: 278: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,663 INFO L290 TraceCheckUtils]: 277: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 276: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 275: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 274: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 273: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 272: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 271: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 270: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 269: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 268: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 267: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 266: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 265: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 264: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,664 INFO L290 TraceCheckUtils]: 263: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 262: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 261: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 260: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 259: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 258: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 257: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 256: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 255: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 254: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 253: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 252: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 251: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 250: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 249: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,665 INFO L290 TraceCheckUtils]: 248: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 247: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 246: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 245: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 244: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 243: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 242: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 241: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 240: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 239: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 238: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 237: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 236: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 235: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 234: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,666 INFO L290 TraceCheckUtils]: 233: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 232: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 231: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 230: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 229: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 228: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 227: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 226: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 225: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 224: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 223: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 222: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 221: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 220: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,667 INFO L290 TraceCheckUtils]: 219: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 218: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 217: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 216: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 215: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 214: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 213: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 212: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 211: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 210: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 209: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 208: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 207: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 206: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,668 INFO L290 TraceCheckUtils]: 205: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 204: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 203: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 202: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 201: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 200: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 199: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 198: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 197: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,669 INFO L290 TraceCheckUtils]: 196: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:18,670 INFO L290 TraceCheckUtils]: 195: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:18,670 INFO L290 TraceCheckUtils]: 194: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:18,670 INFO L290 TraceCheckUtils]: 193: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:18,670 INFO L290 TraceCheckUtils]: 192: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:18,670 INFO L290 TraceCheckUtils]: 191: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:18,670 INFO L290 TraceCheckUtils]: 190: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,670 INFO L290 TraceCheckUtils]: 189: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 188: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 187: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 186: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 185: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 184: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 183: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 182: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 181: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,671 INFO L290 TraceCheckUtils]: 180: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 179: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 178: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 177: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 176: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 175: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 174: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 173: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 172: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 171: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 170: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 169: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 168: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 167: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 166: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,672 INFO L290 TraceCheckUtils]: 165: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 164: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 163: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 162: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 161: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 160: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 159: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 158: Hoare triple {14761#false} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 157: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 156: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 155: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 154: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 153: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 152: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,673 INFO L290 TraceCheckUtils]: 151: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 150: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 149: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 148: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 147: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 146: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 145: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 144: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 143: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 142: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 141: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 140: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 139: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 138: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 137: Hoare triple {14761#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14761#false} is VALID [2022-02-20 23:50:18,674 INFO L290 TraceCheckUtils]: 136: Hoare triple {14761#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 135: Hoare triple {14761#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 134: Hoare triple {14761#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 133: Hoare triple {14761#false} assume !!(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 132: Hoare triple {14761#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 131: Hoare triple {14761#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 130: Hoare triple {14761#false} havoc main_#t~ret3#1; {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 129: Hoare triple {14761#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 128: Hoare triple {14761#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 127: Hoare triple {14761#false} foo_#res#1 := foo_~i~0#1; {14761#false} is VALID [2022-02-20 23:50:18,675 INFO L290 TraceCheckUtils]: 126: Hoare triple {16093#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {14761#false} is VALID [2022-02-20 23:50:18,676 INFO L290 TraceCheckUtils]: 125: Hoare triple {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {16093#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,676 INFO L290 TraceCheckUtils]: 124: Hoare triple {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,676 INFO L290 TraceCheckUtils]: 123: Hoare triple {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,677 INFO L290 TraceCheckUtils]: 122: Hoare triple {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,677 INFO L290 TraceCheckUtils]: 121: Hoare triple {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,677 INFO L290 TraceCheckUtils]: 120: Hoare triple {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {16097#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,678 INFO L290 TraceCheckUtils]: 119: Hoare triple {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,678 INFO L290 TraceCheckUtils]: 118: Hoare triple {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,678 INFO L290 TraceCheckUtils]: 117: Hoare triple {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,679 INFO L290 TraceCheckUtils]: 116: Hoare triple {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,679 INFO L290 TraceCheckUtils]: 115: Hoare triple {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {16113#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,680 INFO L290 TraceCheckUtils]: 114: Hoare triple {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,680 INFO L290 TraceCheckUtils]: 113: Hoare triple {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,680 INFO L290 TraceCheckUtils]: 112: Hoare triple {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,681 INFO L290 TraceCheckUtils]: 111: Hoare triple {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,681 INFO L290 TraceCheckUtils]: 110: Hoare triple {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {16129#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,681 INFO L290 TraceCheckUtils]: 109: Hoare triple {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,682 INFO L290 TraceCheckUtils]: 108: Hoare triple {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,682 INFO L290 TraceCheckUtils]: 107: Hoare triple {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,682 INFO L290 TraceCheckUtils]: 106: Hoare triple {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,683 INFO L290 TraceCheckUtils]: 105: Hoare triple {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {16145#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,683 INFO L290 TraceCheckUtils]: 104: Hoare triple {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,683 INFO L290 TraceCheckUtils]: 103: Hoare triple {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,684 INFO L290 TraceCheckUtils]: 102: Hoare triple {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,684 INFO L290 TraceCheckUtils]: 101: Hoare triple {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,684 INFO L290 TraceCheckUtils]: 100: Hoare triple {14769#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {16161#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:18,685 INFO L290 TraceCheckUtils]: 99: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14769#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,685 INFO L290 TraceCheckUtils]: 98: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,685 INFO L290 TraceCheckUtils]: 97: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,686 INFO L290 TraceCheckUtils]: 96: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,686 INFO L290 TraceCheckUtils]: 95: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,686 INFO L290 TraceCheckUtils]: 94: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,686 INFO L290 TraceCheckUtils]: 93: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,687 INFO L290 TraceCheckUtils]: 92: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,687 INFO L290 TraceCheckUtils]: 91: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,687 INFO L290 TraceCheckUtils]: 90: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,688 INFO L290 TraceCheckUtils]: 89: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,688 INFO L290 TraceCheckUtils]: 88: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,688 INFO L290 TraceCheckUtils]: 87: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,688 INFO L290 TraceCheckUtils]: 86: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,689 INFO L290 TraceCheckUtils]: 85: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,689 INFO L290 TraceCheckUtils]: 84: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,689 INFO L290 TraceCheckUtils]: 83: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,689 INFO L290 TraceCheckUtils]: 82: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,690 INFO L290 TraceCheckUtils]: 81: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,690 INFO L290 TraceCheckUtils]: 80: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,690 INFO L290 TraceCheckUtils]: 79: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,691 INFO L290 TraceCheckUtils]: 78: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,691 INFO L290 TraceCheckUtils]: 77: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,691 INFO L290 TraceCheckUtils]: 76: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,691 INFO L290 TraceCheckUtils]: 75: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,692 INFO L290 TraceCheckUtils]: 74: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,692 INFO L290 TraceCheckUtils]: 73: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,692 INFO L290 TraceCheckUtils]: 72: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,693 INFO L290 TraceCheckUtils]: 71: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,693 INFO L290 TraceCheckUtils]: 70: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,693 INFO L290 TraceCheckUtils]: 69: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,693 INFO L290 TraceCheckUtils]: 68: Hoare triple {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,694 INFO L290 TraceCheckUtils]: 67: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14768#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,694 INFO L290 TraceCheckUtils]: 66: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,694 INFO L290 TraceCheckUtils]: 65: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,695 INFO L290 TraceCheckUtils]: 64: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,695 INFO L290 TraceCheckUtils]: 63: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,695 INFO L290 TraceCheckUtils]: 62: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,695 INFO L290 TraceCheckUtils]: 61: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,696 INFO L290 TraceCheckUtils]: 60: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,696 INFO L290 TraceCheckUtils]: 59: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,696 INFO L290 TraceCheckUtils]: 58: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,697 INFO L290 TraceCheckUtils]: 57: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,697 INFO L290 TraceCheckUtils]: 56: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,697 INFO L290 TraceCheckUtils]: 55: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,697 INFO L290 TraceCheckUtils]: 54: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,698 INFO L290 TraceCheckUtils]: 53: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,698 INFO L290 TraceCheckUtils]: 52: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,698 INFO L290 TraceCheckUtils]: 51: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,698 INFO L290 TraceCheckUtils]: 50: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,699 INFO L290 TraceCheckUtils]: 49: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,699 INFO L290 TraceCheckUtils]: 48: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,699 INFO L290 TraceCheckUtils]: 47: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,700 INFO L290 TraceCheckUtils]: 46: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,700 INFO L290 TraceCheckUtils]: 45: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,700 INFO L290 TraceCheckUtils]: 44: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,700 INFO L290 TraceCheckUtils]: 43: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,701 INFO L290 TraceCheckUtils]: 42: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,701 INFO L290 TraceCheckUtils]: 41: Hoare triple {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,701 INFO L290 TraceCheckUtils]: 40: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14904#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,702 INFO L290 TraceCheckUtils]: 39: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,702 INFO L290 TraceCheckUtils]: 38: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,702 INFO L290 TraceCheckUtils]: 37: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,702 INFO L290 TraceCheckUtils]: 36: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,703 INFO L290 TraceCheckUtils]: 35: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,703 INFO L290 TraceCheckUtils]: 34: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,703 INFO L290 TraceCheckUtils]: 33: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,703 INFO L290 TraceCheckUtils]: 32: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,704 INFO L290 TraceCheckUtils]: 31: Hoare triple {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,704 INFO L290 TraceCheckUtils]: 30: Hoare triple {16387#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (not (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)))} assume !!(foo_~i~0#1 <= foo_~size#1); {14873#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:18,705 INFO L290 TraceCheckUtils]: 29: Hoare triple {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {16387#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (not (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)))} is VALID [2022-02-20 23:50:18,705 INFO L290 TraceCheckUtils]: 28: Hoare triple {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:18,705 INFO L290 TraceCheckUtils]: 27: Hoare triple {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:18,705 INFO L290 TraceCheckUtils]: 26: Hoare triple {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:18,706 INFO L290 TraceCheckUtils]: 25: Hoare triple {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:18,706 INFO L290 TraceCheckUtils]: 24: Hoare triple {16407#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2)))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {16391#(or (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 1)) (<= 1 |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:18,707 INFO L290 TraceCheckUtils]: 23: Hoare triple {16407#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2)))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {16407#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2)))} is VALID [2022-02-20 23:50:18,707 INFO L290 TraceCheckUtils]: 22: Hoare triple {16407#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2)))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {16407#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2)))} is VALID [2022-02-20 23:50:18,707 INFO L290 TraceCheckUtils]: 21: Hoare triple {16417#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {16407#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| (+ |ULTIMATE.start_foo_~i~0#1| 2)))} is VALID [2022-02-20 23:50:18,708 INFO L290 TraceCheckUtils]: 20: Hoare triple {16417#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {16417#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| 2))} is VALID [2022-02-20 23:50:18,708 INFO L290 TraceCheckUtils]: 19: Hoare triple {14760#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {16417#(or (<= 1 |ULTIMATE.start_main_~i~1#1|) (< |ULTIMATE.start_foo_~size#1| 2))} is VALID [2022-02-20 23:50:18,708 INFO L290 TraceCheckUtils]: 18: Hoare triple {14760#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {14760#true} is VALID [2022-02-20 23:50:18,708 INFO L290 TraceCheckUtils]: 17: Hoare triple {14760#true} havoc main_#t~ret3#1; {14760#true} is VALID [2022-02-20 23:50:18,708 INFO L290 TraceCheckUtils]: 16: Hoare triple {14760#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 15: Hoare triple {14760#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 14: Hoare triple {14760#true} foo_#res#1 := foo_~i~0#1; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 13: Hoare triple {14760#true} assume !(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 12: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 11: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 10: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 9: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 8: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 7: Hoare triple {14760#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 6: Hoare triple {14760#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 5: Hoare triple {14760#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 4: Hoare triple {14760#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 3: Hoare triple {14760#true} assume !!(foo_~i~0#1 <= foo_~size#1); {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 2: Hoare triple {14760#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {14760#true} is VALID [2022-02-20 23:50:18,709 INFO L290 TraceCheckUtils]: 1: Hoare triple {14760#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {14760#true} is VALID [2022-02-20 23:50:18,710 INFO L290 TraceCheckUtils]: 0: Hoare triple {14760#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {14760#true} is VALID [2022-02-20 23:50:18,712 INFO L134 CoverageAnalysis]: Checked inductivity of 5382 backedges. 3230 proven. 388 refuted. 0 times theorem prover too weak. 1764 trivial. 0 not checked. [2022-02-20 23:50:18,712 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2102285061] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:50:18,712 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:50:18,712 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 16, 16] total 38 [2022-02-20 23:50:18,712 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [866825398] [2022-02-20 23:50:18,713 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:50:18,713 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 5.078947368421052) internal successors, (193), 38 states have internal predecessors, (193), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 281 [2022-02-20 23:50:18,716 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:50:18,716 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 38 states, 38 states have (on average 5.078947368421052) internal successors, (193), 38 states have internal predecessors, (193), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:18,858 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 193 edges. 193 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:18,858 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 38 states [2022-02-20 23:50:18,859 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:50:18,859 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 38 interpolants. [2022-02-20 23:50:18,859 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=277, Invalid=1129, Unknown=0, NotChecked=0, Total=1406 [2022-02-20 23:50:18,860 INFO L87 Difference]: Start difference. First operand 354 states and 387 transitions. Second operand has 38 states, 38 states have (on average 5.078947368421052) internal successors, (193), 38 states have internal predecessors, (193), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:20,803 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:20,803 INFO L93 Difference]: Finished difference Result 354 states and 369 transitions. [2022-02-20 23:50:20,803 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 32 states. [2022-02-20 23:50:20,803 INFO L78 Accepts]: Start accepts. Automaton has has 38 states, 38 states have (on average 5.078947368421052) internal successors, (193), 38 states have internal predecessors, (193), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 281 [2022-02-20 23:50:20,804 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:50:20,804 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 5.078947368421052) internal successors, (193), 38 states have internal predecessors, (193), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:20,805 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 140 transitions. [2022-02-20 23:50:20,806 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 38 states, 38 states have (on average 5.078947368421052) internal successors, (193), 38 states have internal predecessors, (193), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:20,807 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 32 states to 32 states and 140 transitions. [2022-02-20 23:50:20,807 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 32 states and 140 transitions. [2022-02-20 23:50:20,936 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:20,942 INFO L225 Difference]: With dead ends: 354 [2022-02-20 23:50:20,943 INFO L226 Difference]: Without dead ends: 354 [2022-02-20 23:50:20,944 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 602 GetRequests, 541 SyntacticMatches, 0 SemanticMatches, 61 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 886 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=866, Invalid=3040, Unknown=0, NotChecked=0, Total=3906 [2022-02-20 23:50:20,945 INFO L933 BasicCegarLoop]: 13 mSDtfsCounter, 129 mSDsluCounter, 74 mSDsCounter, 0 mSdLazyCounter, 1077 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 129 SdHoareTripleChecker+Valid, 87 SdHoareTripleChecker+Invalid, 1105 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 1077 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-02-20 23:50:20,945 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [129 Valid, 87 Invalid, 1105 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 1077 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-02-20 23:50:20,945 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 354 states. [2022-02-20 23:50:20,950 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 354 to 354. [2022-02-20 23:50:20,950 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:50:20,951 INFO L82 GeneralOperation]: Start isEquivalent. First operand 354 states. Second operand has 354 states, 352 states have (on average 1.0482954545454546) internal successors, (369), 353 states have internal predecessors, (369), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:20,951 INFO L74 IsIncluded]: Start isIncluded. First operand 354 states. Second operand has 354 states, 352 states have (on average 1.0482954545454546) internal successors, (369), 353 states have internal predecessors, (369), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:20,951 INFO L87 Difference]: Start difference. First operand 354 states. Second operand has 354 states, 352 states have (on average 1.0482954545454546) internal successors, (369), 353 states have internal predecessors, (369), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:20,958 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:20,958 INFO L93 Difference]: Finished difference Result 354 states and 369 transitions. [2022-02-20 23:50:20,958 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 369 transitions. [2022-02-20 23:50:20,959 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:20,959 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:20,960 INFO L74 IsIncluded]: Start isIncluded. First operand has 354 states, 352 states have (on average 1.0482954545454546) internal successors, (369), 353 states have internal predecessors, (369), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 354 states. [2022-02-20 23:50:20,960 INFO L87 Difference]: Start difference. First operand has 354 states, 352 states have (on average 1.0482954545454546) internal successors, (369), 353 states have internal predecessors, (369), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 354 states. [2022-02-20 23:50:20,967 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:20,967 INFO L93 Difference]: Finished difference Result 354 states and 369 transitions. [2022-02-20 23:50:20,968 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 369 transitions. [2022-02-20 23:50:20,968 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:20,968 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:20,968 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:50:20,969 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:50:20,969 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 354 states, 352 states have (on average 1.0482954545454546) internal successors, (369), 353 states have internal predecessors, (369), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:20,975 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 354 states to 354 states and 369 transitions. [2022-02-20 23:50:20,976 INFO L78 Accepts]: Start accepts. Automaton has 354 states and 369 transitions. Word has length 281 [2022-02-20 23:50:20,976 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:50:20,976 INFO L470 AbstractCegarLoop]: Abstraction has 354 states and 369 transitions. [2022-02-20 23:50:20,976 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 38 states, 38 states have (on average 5.078947368421052) internal successors, (193), 38 states have internal predecessors, (193), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:20,976 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 369 transitions. [2022-02-20 23:50:20,979 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 302 [2022-02-20 23:50:20,979 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:50:20,980 INFO L514 BasicCegarLoop]: trace histogram [49, 48, 48, 48, 48, 9, 8, 8, 8, 8, 8, 8, 1, 1, 1] [2022-02-20 23:50:21,004 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:50:21,195 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable24,19 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:21,195 INFO L402 AbstractCegarLoop]: === Iteration 26 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:50:21,196 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:50:21,196 INFO L85 PathProgramCache]: Analyzing trace with hash 763391400, now seen corresponding path program 6 times [2022-02-20 23:50:21,196 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:50:21,196 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [461650528] [2022-02-20 23:50:21,196 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:50:21,196 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-02-20 23:50:21,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:21,609 INFO L290 TraceCheckUtils]: 0: Hoare triple {17947#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {17947#true} is VALID [2022-02-20 23:50:21,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {17947#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {17947#true} is VALID [2022-02-20 23:50:21,609 INFO L290 TraceCheckUtils]: 2: Hoare triple {17947#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17947#true} is VALID [2022-02-20 23:50:21,609 INFO L290 TraceCheckUtils]: 3: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 4: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 5: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 6: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 7: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 8: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 9: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 10: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 11: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 12: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 13: Hoare triple {17947#true} assume !(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 14: Hoare triple {17947#true} foo_#res#1 := foo_~i~0#1; {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 15: Hoare triple {17947#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 16: Hoare triple {17947#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17947#true} is VALID [2022-02-20 23:50:21,610 INFO L290 TraceCheckUtils]: 17: Hoare triple {17947#true} havoc main_#t~ret3#1; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 18: Hoare triple {17947#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 19: Hoare triple {17947#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 20: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 21: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 22: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 23: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 24: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 25: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 26: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 27: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 28: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 29: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 30: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,611 INFO L290 TraceCheckUtils]: 31: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 32: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 33: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 34: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 35: Hoare triple {17947#true} assume !(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 36: Hoare triple {17947#true} foo_#res#1 := foo_~i~0#1; {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 37: Hoare triple {17947#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 38: Hoare triple {17947#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 39: Hoare triple {17947#true} havoc main_#t~ret3#1; {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 40: Hoare triple {17947#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17947#true} is VALID [2022-02-20 23:50:21,612 INFO L290 TraceCheckUtils]: 41: Hoare triple {17947#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 42: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 43: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 44: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 45: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 46: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 47: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 48: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 49: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 50: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 51: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 52: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 53: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,613 INFO L290 TraceCheckUtils]: 54: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,614 INFO L290 TraceCheckUtils]: 55: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,614 INFO L290 TraceCheckUtils]: 56: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,614 INFO L290 TraceCheckUtils]: 57: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,614 INFO L290 TraceCheckUtils]: 58: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,614 INFO L290 TraceCheckUtils]: 59: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,614 INFO L290 TraceCheckUtils]: 60: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,614 INFO L290 TraceCheckUtils]: 61: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,614 INFO L290 TraceCheckUtils]: 62: Hoare triple {17947#true} assume !(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 63: Hoare triple {17947#true} foo_#res#1 := foo_~i~0#1; {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 64: Hoare triple {17947#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 65: Hoare triple {17947#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 66: Hoare triple {17947#true} havoc main_#t~ret3#1; {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 67: Hoare triple {17947#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 68: Hoare triple {17947#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 69: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 70: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 71: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 72: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 73: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 74: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,615 INFO L290 TraceCheckUtils]: 75: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,616 INFO L290 TraceCheckUtils]: 76: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,616 INFO L290 TraceCheckUtils]: 77: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,616 INFO L290 TraceCheckUtils]: 78: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,616 INFO L290 TraceCheckUtils]: 79: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,616 INFO L290 TraceCheckUtils]: 80: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,616 INFO L290 TraceCheckUtils]: 81: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,616 INFO L290 TraceCheckUtils]: 82: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,617 INFO L290 TraceCheckUtils]: 83: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,617 INFO L290 TraceCheckUtils]: 84: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,617 INFO L290 TraceCheckUtils]: 85: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,617 INFO L290 TraceCheckUtils]: 86: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,617 INFO L290 TraceCheckUtils]: 87: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,617 INFO L290 TraceCheckUtils]: 88: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,617 INFO L290 TraceCheckUtils]: 89: Hoare triple {17947#true} assume !!(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,618 INFO L290 TraceCheckUtils]: 90: Hoare triple {17947#true} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17947#true} is VALID [2022-02-20 23:50:21,618 INFO L290 TraceCheckUtils]: 91: Hoare triple {17947#true} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17947#true} is VALID [2022-02-20 23:50:21,618 INFO L290 TraceCheckUtils]: 92: Hoare triple {17947#true} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17947#true} is VALID [2022-02-20 23:50:21,618 INFO L290 TraceCheckUtils]: 93: Hoare triple {17947#true} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17947#true} is VALID [2022-02-20 23:50:21,618 INFO L290 TraceCheckUtils]: 94: Hoare triple {17947#true} assume !(foo_~i~0#1 <= foo_~size#1); {17947#true} is VALID [2022-02-20 23:50:21,618 INFO L290 TraceCheckUtils]: 95: Hoare triple {17947#true} foo_#res#1 := foo_~i~0#1; {17947#true} is VALID [2022-02-20 23:50:21,618 INFO L290 TraceCheckUtils]: 96: Hoare triple {17947#true} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17947#true} is VALID [2022-02-20 23:50:21,619 INFO L290 TraceCheckUtils]: 97: Hoare triple {17947#true} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17947#true} is VALID [2022-02-20 23:50:21,619 INFO L290 TraceCheckUtils]: 98: Hoare triple {17947#true} havoc main_#t~ret3#1; {17947#true} is VALID [2022-02-20 23:50:21,619 INFO L290 TraceCheckUtils]: 99: Hoare triple {17947#true} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17947#true} is VALID [2022-02-20 23:50:21,620 INFO L290 TraceCheckUtils]: 100: Hoare triple {17947#true} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,620 INFO L290 TraceCheckUtils]: 101: Hoare triple {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,621 INFO L290 TraceCheckUtils]: 102: Hoare triple {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,621 INFO L290 TraceCheckUtils]: 103: Hoare triple {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,622 INFO L290 TraceCheckUtils]: 104: Hoare triple {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,622 INFO L290 TraceCheckUtils]: 105: Hoare triple {17949#(and (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,623 INFO L290 TraceCheckUtils]: 106: Hoare triple {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,623 INFO L290 TraceCheckUtils]: 107: Hoare triple {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,624 INFO L290 TraceCheckUtils]: 108: Hoare triple {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,624 INFO L290 TraceCheckUtils]: 109: Hoare triple {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,625 INFO L290 TraceCheckUtils]: 110: Hoare triple {17950#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 1 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,625 INFO L290 TraceCheckUtils]: 111: Hoare triple {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,626 INFO L290 TraceCheckUtils]: 112: Hoare triple {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,626 INFO L290 TraceCheckUtils]: 113: Hoare triple {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,627 INFO L290 TraceCheckUtils]: 114: Hoare triple {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,628 INFO L290 TraceCheckUtils]: 115: Hoare triple {17951#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 2 |ULTIMATE.start_foo_~i~0#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,628 INFO L290 TraceCheckUtils]: 116: Hoare triple {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,629 INFO L290 TraceCheckUtils]: 117: Hoare triple {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,629 INFO L290 TraceCheckUtils]: 118: Hoare triple {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,630 INFO L290 TraceCheckUtils]: 119: Hoare triple {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,630 INFO L290 TraceCheckUtils]: 120: Hoare triple {17952#(and (<= 3 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,631 INFO L290 TraceCheckUtils]: 121: Hoare triple {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,631 INFO L290 TraceCheckUtils]: 122: Hoare triple {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,632 INFO L290 TraceCheckUtils]: 123: Hoare triple {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,632 INFO L290 TraceCheckUtils]: 124: Hoare triple {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,633 INFO L290 TraceCheckUtils]: 125: Hoare triple {17953#(and (<= 4 |ULTIMATE.start_foo_~i~0#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17954#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} is VALID [2022-02-20 23:50:21,634 INFO L290 TraceCheckUtils]: 126: Hoare triple {17954#(and (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|) (<= 5 |ULTIMATE.start_foo_~i~0#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,634 INFO L290 TraceCheckUtils]: 127: Hoare triple {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,635 INFO L290 TraceCheckUtils]: 128: Hoare triple {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,635 INFO L290 TraceCheckUtils]: 129: Hoare triple {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,636 INFO L290 TraceCheckUtils]: 130: Hoare triple {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:21,636 INFO L290 TraceCheckUtils]: 131: Hoare triple {17955#(and (<= 5 |ULTIMATE.start_foo_~size#1|) (= (+ |ULTIMATE.start_main_~i~1#1| 1) |ULTIMATE.start_foo_~size#1|))} assume !(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:21,637 INFO L290 TraceCheckUtils]: 132: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:21,637 INFO L290 TraceCheckUtils]: 133: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:21,637 INFO L290 TraceCheckUtils]: 134: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:21,638 INFO L290 TraceCheckUtils]: 135: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:21,638 INFO L290 TraceCheckUtils]: 136: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17957#(<= 5 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:21,639 INFO L290 TraceCheckUtils]: 137: Hoare triple {17957#(<= 5 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,640 INFO L290 TraceCheckUtils]: 138: Hoare triple {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,640 INFO L290 TraceCheckUtils]: 139: Hoare triple {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,641 INFO L290 TraceCheckUtils]: 140: Hoare triple {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,641 INFO L290 TraceCheckUtils]: 141: Hoare triple {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,642 INFO L290 TraceCheckUtils]: 142: Hoare triple {17958#(and (<= 5 |ULTIMATE.start_main_~i~1#1|) (= |ULTIMATE.start_foo_~i~0#1| 0) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,642 INFO L290 TraceCheckUtils]: 143: Hoare triple {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,643 INFO L290 TraceCheckUtils]: 144: Hoare triple {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,643 INFO L290 TraceCheckUtils]: 145: Hoare triple {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,644 INFO L290 TraceCheckUtils]: 146: Hoare triple {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,645 INFO L290 TraceCheckUtils]: 147: Hoare triple {17959#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,645 INFO L290 TraceCheckUtils]: 148: Hoare triple {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,646 INFO L290 TraceCheckUtils]: 149: Hoare triple {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,646 INFO L290 TraceCheckUtils]: 150: Hoare triple {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,647 INFO L290 TraceCheckUtils]: 151: Hoare triple {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,647 INFO L290 TraceCheckUtils]: 152: Hoare triple {17960#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:21,648 INFO L290 TraceCheckUtils]: 153: Hoare triple {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:21,648 INFO L290 TraceCheckUtils]: 154: Hoare triple {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:21,649 INFO L290 TraceCheckUtils]: 155: Hoare triple {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:21,650 INFO L290 TraceCheckUtils]: 156: Hoare triple {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} is VALID [2022-02-20 23:50:21,650 INFO L290 TraceCheckUtils]: 157: Hoare triple {17961#(and (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0) (<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_main_~i~1#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,651 INFO L290 TraceCheckUtils]: 158: Hoare triple {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,651 INFO L290 TraceCheckUtils]: 159: Hoare triple {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,652 INFO L290 TraceCheckUtils]: 160: Hoare triple {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,652 INFO L290 TraceCheckUtils]: 161: Hoare triple {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,653 INFO L290 TraceCheckUtils]: 162: Hoare triple {17962#(and (<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,653 INFO L290 TraceCheckUtils]: 163: Hoare triple {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,654 INFO L290 TraceCheckUtils]: 164: Hoare triple {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,655 INFO L290 TraceCheckUtils]: 165: Hoare triple {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,655 INFO L290 TraceCheckUtils]: 166: Hoare triple {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,656 INFO L290 TraceCheckUtils]: 167: Hoare triple {17963#(and (<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_main_~i~1#1|) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17964#(and (<= |ULTIMATE.start_foo_~i~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} is VALID [2022-02-20 23:50:21,657 INFO L290 TraceCheckUtils]: 168: Hoare triple {17964#(and (<= |ULTIMATE.start_foo_~i~0#1| (+ |ULTIMATE.start_main_~i~1#1| 1)) (= (+ (* (- 1) |ULTIMATE.start_foo_~size#1|) |ULTIMATE.start_main_~i~1#1| 1) 0))} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,657 INFO L290 TraceCheckUtils]: 169: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:21,657 INFO L290 TraceCheckUtils]: 170: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:21,657 INFO L290 TraceCheckUtils]: 171: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:21,657 INFO L290 TraceCheckUtils]: 172: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:21,658 INFO L290 TraceCheckUtils]: 173: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:21,658 INFO L290 TraceCheckUtils]: 174: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:21,658 INFO L290 TraceCheckUtils]: 175: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,658 INFO L290 TraceCheckUtils]: 176: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,658 INFO L290 TraceCheckUtils]: 177: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,658 INFO L290 TraceCheckUtils]: 178: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,659 INFO L290 TraceCheckUtils]: 179: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,659 INFO L290 TraceCheckUtils]: 180: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,659 INFO L290 TraceCheckUtils]: 181: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,659 INFO L290 TraceCheckUtils]: 182: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,659 INFO L290 TraceCheckUtils]: 183: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,659 INFO L290 TraceCheckUtils]: 184: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,659 INFO L290 TraceCheckUtils]: 185: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,660 INFO L290 TraceCheckUtils]: 186: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,660 INFO L290 TraceCheckUtils]: 187: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,660 INFO L290 TraceCheckUtils]: 188: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,660 INFO L290 TraceCheckUtils]: 189: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,660 INFO L290 TraceCheckUtils]: 190: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,660 INFO L290 TraceCheckUtils]: 191: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,660 INFO L290 TraceCheckUtils]: 192: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,660 INFO L290 TraceCheckUtils]: 193: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,661 INFO L290 TraceCheckUtils]: 194: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,661 INFO L290 TraceCheckUtils]: 195: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,661 INFO L290 TraceCheckUtils]: 196: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,661 INFO L290 TraceCheckUtils]: 197: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,661 INFO L290 TraceCheckUtils]: 198: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,661 INFO L290 TraceCheckUtils]: 199: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,661 INFO L290 TraceCheckUtils]: 200: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,662 INFO L290 TraceCheckUtils]: 201: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,662 INFO L290 TraceCheckUtils]: 202: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,662 INFO L290 TraceCheckUtils]: 203: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,662 INFO L290 TraceCheckUtils]: 204: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,662 INFO L290 TraceCheckUtils]: 205: Hoare triple {17948#false} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,662 INFO L290 TraceCheckUtils]: 206: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:21,662 INFO L290 TraceCheckUtils]: 207: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:21,663 INFO L290 TraceCheckUtils]: 208: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:21,663 INFO L290 TraceCheckUtils]: 209: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:21,663 INFO L290 TraceCheckUtils]: 210: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:21,663 INFO L290 TraceCheckUtils]: 211: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:21,663 INFO L290 TraceCheckUtils]: 212: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,663 INFO L290 TraceCheckUtils]: 213: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,664 INFO L290 TraceCheckUtils]: 214: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,664 INFO L290 TraceCheckUtils]: 215: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,664 INFO L290 TraceCheckUtils]: 216: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,664 INFO L290 TraceCheckUtils]: 217: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,664 INFO L290 TraceCheckUtils]: 218: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,664 INFO L290 TraceCheckUtils]: 219: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,664 INFO L290 TraceCheckUtils]: 220: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,664 INFO L290 TraceCheckUtils]: 221: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,665 INFO L290 TraceCheckUtils]: 222: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,665 INFO L290 TraceCheckUtils]: 223: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,665 INFO L290 TraceCheckUtils]: 224: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,665 INFO L290 TraceCheckUtils]: 225: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,665 INFO L290 TraceCheckUtils]: 226: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,665 INFO L290 TraceCheckUtils]: 227: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,665 INFO L290 TraceCheckUtils]: 228: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,666 INFO L290 TraceCheckUtils]: 229: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,666 INFO L290 TraceCheckUtils]: 230: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,666 INFO L290 TraceCheckUtils]: 231: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,666 INFO L290 TraceCheckUtils]: 232: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,666 INFO L290 TraceCheckUtils]: 233: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,666 INFO L290 TraceCheckUtils]: 234: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,667 INFO L290 TraceCheckUtils]: 235: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,667 INFO L290 TraceCheckUtils]: 236: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,667 INFO L290 TraceCheckUtils]: 237: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,667 INFO L290 TraceCheckUtils]: 238: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,667 INFO L290 TraceCheckUtils]: 239: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,667 INFO L290 TraceCheckUtils]: 240: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,667 INFO L290 TraceCheckUtils]: 241: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,668 INFO L290 TraceCheckUtils]: 242: Hoare triple {17948#false} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,668 INFO L290 TraceCheckUtils]: 243: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:21,668 INFO L290 TraceCheckUtils]: 244: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:21,668 INFO L290 TraceCheckUtils]: 245: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:21,668 INFO L290 TraceCheckUtils]: 246: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:21,668 INFO L290 TraceCheckUtils]: 247: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:21,668 INFO L290 TraceCheckUtils]: 248: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:21,669 INFO L290 TraceCheckUtils]: 249: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,669 INFO L290 TraceCheckUtils]: 250: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,669 INFO L290 TraceCheckUtils]: 251: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,669 INFO L290 TraceCheckUtils]: 252: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,669 INFO L290 TraceCheckUtils]: 253: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,669 INFO L290 TraceCheckUtils]: 254: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,669 INFO L290 TraceCheckUtils]: 255: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,670 INFO L290 TraceCheckUtils]: 256: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,670 INFO L290 TraceCheckUtils]: 257: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,670 INFO L290 TraceCheckUtils]: 258: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,670 INFO L290 TraceCheckUtils]: 259: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,670 INFO L290 TraceCheckUtils]: 260: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,670 INFO L290 TraceCheckUtils]: 261: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,670 INFO L290 TraceCheckUtils]: 262: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,671 INFO L290 TraceCheckUtils]: 263: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,671 INFO L290 TraceCheckUtils]: 264: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,671 INFO L290 TraceCheckUtils]: 265: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,671 INFO L290 TraceCheckUtils]: 266: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,671 INFO L290 TraceCheckUtils]: 267: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,671 INFO L290 TraceCheckUtils]: 268: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,671 INFO L290 TraceCheckUtils]: 269: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,672 INFO L290 TraceCheckUtils]: 270: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,672 INFO L290 TraceCheckUtils]: 271: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,672 INFO L290 TraceCheckUtils]: 272: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,672 INFO L290 TraceCheckUtils]: 273: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,672 INFO L290 TraceCheckUtils]: 274: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,672 INFO L290 TraceCheckUtils]: 275: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,672 INFO L290 TraceCheckUtils]: 276: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,673 INFO L290 TraceCheckUtils]: 277: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,673 INFO L290 TraceCheckUtils]: 278: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,673 INFO L290 TraceCheckUtils]: 279: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,673 INFO L290 TraceCheckUtils]: 280: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,673 INFO L290 TraceCheckUtils]: 281: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,673 INFO L290 TraceCheckUtils]: 282: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,673 INFO L290 TraceCheckUtils]: 283: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,674 INFO L290 TraceCheckUtils]: 284: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,674 INFO L290 TraceCheckUtils]: 285: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,674 INFO L290 TraceCheckUtils]: 286: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,674 INFO L290 TraceCheckUtils]: 287: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,692 INFO L290 TraceCheckUtils]: 288: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 289: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 290: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 291: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 292: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 293: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 294: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 295: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 296: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 297: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 298: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 299: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:21,693 INFO L290 TraceCheckUtils]: 300: Hoare triple {17948#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {17948#false} is VALID [2022-02-20 23:50:21,696 INFO L134 CoverageAnalysis]: Checked inductivity of 6332 backedges. 4200 proven. 311 refuted. 0 times theorem prover too weak. 1821 trivial. 0 not checked. [2022-02-20 23:50:21,696 INFO L144 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-02-20 23:50:21,696 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [461650528] [2022-02-20 23:50:21,696 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [461650528] provided 0 perfect and 1 imperfect interpolant sequences [2022-02-20 23:50:21,697 INFO L338 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1330465070] [2022-02-20 23:50:21,697 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-02-20 23:50:21,697 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:21,697 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-02-20 23:50:21,700 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:50:21,733 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:50:22,075 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 16 check-sat command(s) [2022-02-20 23:50:22,075 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-02-20 23:50:22,079 INFO L263 TraceCheckSpWp]: Trace formula consists of 811 conjuncts, 16 conjunts are in the unsatisfiable core [2022-02-20 23:50:22,136 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-02-20 23:50:22,138 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-02-20 23:50:23,224 INFO L290 TraceCheckUtils]: 0: Hoare triple {17947#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {17947#true} is VALID [2022-02-20 23:50:23,225 INFO L290 TraceCheckUtils]: 1: Hoare triple {17947#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,225 INFO L290 TraceCheckUtils]: 2: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,226 INFO L290 TraceCheckUtils]: 3: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,226 INFO L290 TraceCheckUtils]: 4: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,226 INFO L290 TraceCheckUtils]: 5: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,227 INFO L290 TraceCheckUtils]: 6: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,227 INFO L290 TraceCheckUtils]: 9: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,228 INFO L290 TraceCheckUtils]: 10: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,228 INFO L290 TraceCheckUtils]: 12: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,229 INFO L290 TraceCheckUtils]: 13: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,229 INFO L290 TraceCheckUtils]: 14: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,229 INFO L290 TraceCheckUtils]: 15: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,229 INFO L290 TraceCheckUtils]: 16: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,230 INFO L290 TraceCheckUtils]: 17: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,230 INFO L290 TraceCheckUtils]: 18: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,230 INFO L290 TraceCheckUtils]: 19: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,231 INFO L290 TraceCheckUtils]: 20: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,231 INFO L290 TraceCheckUtils]: 21: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,231 INFO L290 TraceCheckUtils]: 22: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,231 INFO L290 TraceCheckUtils]: 23: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,232 INFO L290 TraceCheckUtils]: 24: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,232 INFO L290 TraceCheckUtils]: 25: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,232 INFO L290 TraceCheckUtils]: 26: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,233 INFO L290 TraceCheckUtils]: 27: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,233 INFO L290 TraceCheckUtils]: 28: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,233 INFO L290 TraceCheckUtils]: 29: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,233 INFO L290 TraceCheckUtils]: 30: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,234 INFO L290 TraceCheckUtils]: 31: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,234 INFO L290 TraceCheckUtils]: 32: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,234 INFO L290 TraceCheckUtils]: 33: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,235 INFO L290 TraceCheckUtils]: 34: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,235 INFO L290 TraceCheckUtils]: 35: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,235 INFO L290 TraceCheckUtils]: 36: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,235 INFO L290 TraceCheckUtils]: 37: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,236 INFO L290 TraceCheckUtils]: 38: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,236 INFO L290 TraceCheckUtils]: 39: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,236 INFO L290 TraceCheckUtils]: 40: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,237 INFO L290 TraceCheckUtils]: 41: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,237 INFO L290 TraceCheckUtils]: 42: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,237 INFO L290 TraceCheckUtils]: 43: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,237 INFO L290 TraceCheckUtils]: 44: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,238 INFO L290 TraceCheckUtils]: 45: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,238 INFO L290 TraceCheckUtils]: 46: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,238 INFO L290 TraceCheckUtils]: 47: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,239 INFO L290 TraceCheckUtils]: 48: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,239 INFO L290 TraceCheckUtils]: 49: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,239 INFO L290 TraceCheckUtils]: 50: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,239 INFO L290 TraceCheckUtils]: 51: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,240 INFO L290 TraceCheckUtils]: 52: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,240 INFO L290 TraceCheckUtils]: 53: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,240 INFO L290 TraceCheckUtils]: 54: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,241 INFO L290 TraceCheckUtils]: 55: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,241 INFO L290 TraceCheckUtils]: 56: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,241 INFO L290 TraceCheckUtils]: 57: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,241 INFO L290 TraceCheckUtils]: 58: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,242 INFO L290 TraceCheckUtils]: 59: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,242 INFO L290 TraceCheckUtils]: 60: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,242 INFO L290 TraceCheckUtils]: 61: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,242 INFO L290 TraceCheckUtils]: 62: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,243 INFO L290 TraceCheckUtils]: 63: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,243 INFO L290 TraceCheckUtils]: 64: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,243 INFO L290 TraceCheckUtils]: 65: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,244 INFO L290 TraceCheckUtils]: 66: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,244 INFO L290 TraceCheckUtils]: 67: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,244 INFO L290 TraceCheckUtils]: 68: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,245 INFO L290 TraceCheckUtils]: 69: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,245 INFO L290 TraceCheckUtils]: 70: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,245 INFO L290 TraceCheckUtils]: 71: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,245 INFO L290 TraceCheckUtils]: 72: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,246 INFO L290 TraceCheckUtils]: 73: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,246 INFO L290 TraceCheckUtils]: 74: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,246 INFO L290 TraceCheckUtils]: 75: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,247 INFO L290 TraceCheckUtils]: 76: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,247 INFO L290 TraceCheckUtils]: 77: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,247 INFO L290 TraceCheckUtils]: 78: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,247 INFO L290 TraceCheckUtils]: 79: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,248 INFO L290 TraceCheckUtils]: 80: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,248 INFO L290 TraceCheckUtils]: 81: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,248 INFO L290 TraceCheckUtils]: 82: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,248 INFO L290 TraceCheckUtils]: 83: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,249 INFO L290 TraceCheckUtils]: 84: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,249 INFO L290 TraceCheckUtils]: 85: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,249 INFO L290 TraceCheckUtils]: 86: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,250 INFO L290 TraceCheckUtils]: 87: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,250 INFO L290 TraceCheckUtils]: 88: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,250 INFO L290 TraceCheckUtils]: 89: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,250 INFO L290 TraceCheckUtils]: 90: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,251 INFO L290 TraceCheckUtils]: 91: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,251 INFO L290 TraceCheckUtils]: 92: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,251 INFO L290 TraceCheckUtils]: 93: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,252 INFO L290 TraceCheckUtils]: 94: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,252 INFO L290 TraceCheckUtils]: 95: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,252 INFO L290 TraceCheckUtils]: 96: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,252 INFO L290 TraceCheckUtils]: 97: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,253 INFO L290 TraceCheckUtils]: 98: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,253 INFO L290 TraceCheckUtils]: 99: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,254 INFO L290 TraceCheckUtils]: 100: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,254 INFO L290 TraceCheckUtils]: 101: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,254 INFO L290 TraceCheckUtils]: 102: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,254 INFO L290 TraceCheckUtils]: 103: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,255 INFO L290 TraceCheckUtils]: 104: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,255 INFO L290 TraceCheckUtils]: 105: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,255 INFO L290 TraceCheckUtils]: 106: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,255 INFO L290 TraceCheckUtils]: 107: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,256 INFO L290 TraceCheckUtils]: 108: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,256 INFO L290 TraceCheckUtils]: 109: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,256 INFO L290 TraceCheckUtils]: 110: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,257 INFO L290 TraceCheckUtils]: 111: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,257 INFO L290 TraceCheckUtils]: 112: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,257 INFO L290 TraceCheckUtils]: 113: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,257 INFO L290 TraceCheckUtils]: 114: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,258 INFO L290 TraceCheckUtils]: 115: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,258 INFO L290 TraceCheckUtils]: 116: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,258 INFO L290 TraceCheckUtils]: 117: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,258 INFO L290 TraceCheckUtils]: 118: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,259 INFO L290 TraceCheckUtils]: 119: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,259 INFO L290 TraceCheckUtils]: 120: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,259 INFO L290 TraceCheckUtils]: 121: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,260 INFO L290 TraceCheckUtils]: 122: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,260 INFO L290 TraceCheckUtils]: 123: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,260 INFO L290 TraceCheckUtils]: 124: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,260 INFO L290 TraceCheckUtils]: 125: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,261 INFO L290 TraceCheckUtils]: 126: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,261 INFO L290 TraceCheckUtils]: 127: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,261 INFO L290 TraceCheckUtils]: 128: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,262 INFO L290 TraceCheckUtils]: 129: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,262 INFO L290 TraceCheckUtils]: 130: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,262 INFO L290 TraceCheckUtils]: 131: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,262 INFO L290 TraceCheckUtils]: 132: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,263 INFO L290 TraceCheckUtils]: 133: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,263 INFO L290 TraceCheckUtils]: 134: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,263 INFO L290 TraceCheckUtils]: 135: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,264 INFO L290 TraceCheckUtils]: 136: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17957#(<= 5 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:23,264 INFO L290 TraceCheckUtils]: 137: Hoare triple {17957#(<= 5 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:23,265 INFO L290 TraceCheckUtils]: 138: Hoare triple {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} assume !!(foo_~i~0#1 <= foo_~size#1); {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:23,265 INFO L290 TraceCheckUtils]: 139: Hoare triple {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:23,265 INFO L290 TraceCheckUtils]: 140: Hoare triple {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:23,266 INFO L290 TraceCheckUtils]: 141: Hoare triple {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} is VALID [2022-02-20 23:50:23,266 INFO L290 TraceCheckUtils]: 142: Hoare triple {18383#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 0))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:23,267 INFO L290 TraceCheckUtils]: 143: Hoare triple {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} assume !!(foo_~i~0#1 <= foo_~size#1); {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:23,267 INFO L290 TraceCheckUtils]: 144: Hoare triple {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:23,267 INFO L290 TraceCheckUtils]: 145: Hoare triple {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:23,268 INFO L290 TraceCheckUtils]: 146: Hoare triple {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} is VALID [2022-02-20 23:50:23,268 INFO L290 TraceCheckUtils]: 147: Hoare triple {18399#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 1))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:23,268 INFO L290 TraceCheckUtils]: 148: Hoare triple {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} assume !!(foo_~i~0#1 <= foo_~size#1); {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:23,269 INFO L290 TraceCheckUtils]: 149: Hoare triple {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:23,269 INFO L290 TraceCheckUtils]: 150: Hoare triple {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:23,270 INFO L290 TraceCheckUtils]: 151: Hoare triple {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} is VALID [2022-02-20 23:50:23,270 INFO L290 TraceCheckUtils]: 152: Hoare triple {18415#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 2))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:23,270 INFO L290 TraceCheckUtils]: 153: Hoare triple {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} assume !!(foo_~i~0#1 <= foo_~size#1); {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:23,271 INFO L290 TraceCheckUtils]: 154: Hoare triple {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:23,271 INFO L290 TraceCheckUtils]: 155: Hoare triple {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:23,271 INFO L290 TraceCheckUtils]: 156: Hoare triple {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} is VALID [2022-02-20 23:50:23,272 INFO L290 TraceCheckUtils]: 157: Hoare triple {18431#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 3))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:23,272 INFO L290 TraceCheckUtils]: 158: Hoare triple {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} assume !!(foo_~i~0#1 <= foo_~size#1); {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:23,273 INFO L290 TraceCheckUtils]: 159: Hoare triple {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:23,273 INFO L290 TraceCheckUtils]: 160: Hoare triple {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:23,273 INFO L290 TraceCheckUtils]: 161: Hoare triple {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} is VALID [2022-02-20 23:50:23,274 INFO L290 TraceCheckUtils]: 162: Hoare triple {18447#(and (<= |ULTIMATE.start_foo_~i~0#1| 4) (<= 6 |ULTIMATE.start_foo_~size#1|))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:23,274 INFO L290 TraceCheckUtils]: 163: Hoare triple {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} assume !!(foo_~i~0#1 <= foo_~size#1); {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:23,275 INFO L290 TraceCheckUtils]: 164: Hoare triple {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:23,275 INFO L290 TraceCheckUtils]: 165: Hoare triple {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:23,275 INFO L290 TraceCheckUtils]: 166: Hoare triple {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} is VALID [2022-02-20 23:50:23,276 INFO L290 TraceCheckUtils]: 167: Hoare triple {18463#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 5))} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18479#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 6))} is VALID [2022-02-20 23:50:23,276 INFO L290 TraceCheckUtils]: 168: Hoare triple {18479#(and (<= 6 |ULTIMATE.start_foo_~size#1|) (<= |ULTIMATE.start_foo_~i~0#1| 6))} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,276 INFO L290 TraceCheckUtils]: 169: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:23,276 INFO L290 TraceCheckUtils]: 170: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:23,276 INFO L290 TraceCheckUtils]: 171: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:23,276 INFO L290 TraceCheckUtils]: 172: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:23,276 INFO L290 TraceCheckUtils]: 173: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 174: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 175: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 176: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 177: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 178: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 179: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 180: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 181: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 182: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,277 INFO L290 TraceCheckUtils]: 183: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,278 INFO L290 TraceCheckUtils]: 184: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,278 INFO L290 TraceCheckUtils]: 185: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,278 INFO L290 TraceCheckUtils]: 186: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,278 INFO L290 TraceCheckUtils]: 187: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,278 INFO L290 TraceCheckUtils]: 188: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,278 INFO L290 TraceCheckUtils]: 189: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,278 INFO L290 TraceCheckUtils]: 190: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,279 INFO L290 TraceCheckUtils]: 191: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,279 INFO L290 TraceCheckUtils]: 192: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,279 INFO L290 TraceCheckUtils]: 193: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,279 INFO L290 TraceCheckUtils]: 194: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,279 INFO L290 TraceCheckUtils]: 195: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,279 INFO L290 TraceCheckUtils]: 196: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,280 INFO L290 TraceCheckUtils]: 197: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,280 INFO L290 TraceCheckUtils]: 198: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,280 INFO L290 TraceCheckUtils]: 199: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,280 INFO L290 TraceCheckUtils]: 200: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,280 INFO L290 TraceCheckUtils]: 201: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,280 INFO L290 TraceCheckUtils]: 202: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,280 INFO L290 TraceCheckUtils]: 203: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,281 INFO L290 TraceCheckUtils]: 204: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,281 INFO L290 TraceCheckUtils]: 205: Hoare triple {17948#false} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,281 INFO L290 TraceCheckUtils]: 206: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:23,281 INFO L290 TraceCheckUtils]: 207: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:23,281 INFO L290 TraceCheckUtils]: 208: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:23,281 INFO L290 TraceCheckUtils]: 209: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:23,281 INFO L290 TraceCheckUtils]: 210: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:23,282 INFO L290 TraceCheckUtils]: 211: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:23,282 INFO L290 TraceCheckUtils]: 212: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,282 INFO L290 TraceCheckUtils]: 213: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,282 INFO L290 TraceCheckUtils]: 214: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,282 INFO L290 TraceCheckUtils]: 215: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,282 INFO L290 TraceCheckUtils]: 216: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,282 INFO L290 TraceCheckUtils]: 217: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,283 INFO L290 TraceCheckUtils]: 218: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,283 INFO L290 TraceCheckUtils]: 219: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,283 INFO L290 TraceCheckUtils]: 220: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,283 INFO L290 TraceCheckUtils]: 221: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,283 INFO L290 TraceCheckUtils]: 222: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,283 INFO L290 TraceCheckUtils]: 223: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,283 INFO L290 TraceCheckUtils]: 224: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,284 INFO L290 TraceCheckUtils]: 225: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,284 INFO L290 TraceCheckUtils]: 226: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,284 INFO L290 TraceCheckUtils]: 227: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,284 INFO L290 TraceCheckUtils]: 228: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,284 INFO L290 TraceCheckUtils]: 229: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,284 INFO L290 TraceCheckUtils]: 230: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,284 INFO L290 TraceCheckUtils]: 231: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,285 INFO L290 TraceCheckUtils]: 232: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,285 INFO L290 TraceCheckUtils]: 233: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,285 INFO L290 TraceCheckUtils]: 234: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,285 INFO L290 TraceCheckUtils]: 235: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,285 INFO L290 TraceCheckUtils]: 236: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,285 INFO L290 TraceCheckUtils]: 237: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,285 INFO L290 TraceCheckUtils]: 238: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,286 INFO L290 TraceCheckUtils]: 239: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,286 INFO L290 TraceCheckUtils]: 240: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,286 INFO L290 TraceCheckUtils]: 241: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,286 INFO L290 TraceCheckUtils]: 242: Hoare triple {17948#false} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,286 INFO L290 TraceCheckUtils]: 243: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:23,286 INFO L290 TraceCheckUtils]: 244: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:23,286 INFO L290 TraceCheckUtils]: 245: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:23,287 INFO L290 TraceCheckUtils]: 246: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:23,287 INFO L290 TraceCheckUtils]: 247: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:23,287 INFO L290 TraceCheckUtils]: 248: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:23,287 INFO L290 TraceCheckUtils]: 249: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,287 INFO L290 TraceCheckUtils]: 250: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,287 INFO L290 TraceCheckUtils]: 251: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,287 INFO L290 TraceCheckUtils]: 252: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,288 INFO L290 TraceCheckUtils]: 253: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,288 INFO L290 TraceCheckUtils]: 254: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,288 INFO L290 TraceCheckUtils]: 255: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,288 INFO L290 TraceCheckUtils]: 256: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,288 INFO L290 TraceCheckUtils]: 257: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,288 INFO L290 TraceCheckUtils]: 258: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,288 INFO L290 TraceCheckUtils]: 259: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,289 INFO L290 TraceCheckUtils]: 260: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,289 INFO L290 TraceCheckUtils]: 261: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,289 INFO L290 TraceCheckUtils]: 262: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,289 INFO L290 TraceCheckUtils]: 263: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,289 INFO L290 TraceCheckUtils]: 264: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,289 INFO L290 TraceCheckUtils]: 265: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,289 INFO L290 TraceCheckUtils]: 266: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,290 INFO L290 TraceCheckUtils]: 267: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,290 INFO L290 TraceCheckUtils]: 268: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,290 INFO L290 TraceCheckUtils]: 269: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,290 INFO L290 TraceCheckUtils]: 270: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,290 INFO L290 TraceCheckUtils]: 271: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,290 INFO L290 TraceCheckUtils]: 272: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,291 INFO L290 TraceCheckUtils]: 273: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,291 INFO L290 TraceCheckUtils]: 274: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,291 INFO L290 TraceCheckUtils]: 275: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,291 INFO L290 TraceCheckUtils]: 276: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,291 INFO L290 TraceCheckUtils]: 277: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,291 INFO L290 TraceCheckUtils]: 278: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,291 INFO L290 TraceCheckUtils]: 279: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,292 INFO L290 TraceCheckUtils]: 280: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,292 INFO L290 TraceCheckUtils]: 281: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,292 INFO L290 TraceCheckUtils]: 282: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,292 INFO L290 TraceCheckUtils]: 283: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,292 INFO L290 TraceCheckUtils]: 284: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,292 INFO L290 TraceCheckUtils]: 285: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,292 INFO L290 TraceCheckUtils]: 286: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,293 INFO L290 TraceCheckUtils]: 287: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,293 INFO L290 TraceCheckUtils]: 288: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,293 INFO L290 TraceCheckUtils]: 289: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,293 INFO L290 TraceCheckUtils]: 290: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,293 INFO L290 TraceCheckUtils]: 291: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,293 INFO L290 TraceCheckUtils]: 292: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,293 INFO L290 TraceCheckUtils]: 293: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,294 INFO L290 TraceCheckUtils]: 294: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,294 INFO L290 TraceCheckUtils]: 295: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:23,294 INFO L290 TraceCheckUtils]: 296: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:23,294 INFO L290 TraceCheckUtils]: 297: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:23,294 INFO L290 TraceCheckUtils]: 298: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:23,294 INFO L290 TraceCheckUtils]: 299: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:23,294 INFO L290 TraceCheckUtils]: 300: Hoare triple {17948#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {17948#false} is VALID [2022-02-20 23:50:23,297 INFO L134 CoverageAnalysis]: Checked inductivity of 6332 backedges. 4137 proven. 736 refuted. 0 times theorem prover too weak. 1459 trivial. 0 not checked. [2022-02-20 23:50:23,297 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-02-20 23:50:24,331 INFO L290 TraceCheckUtils]: 300: Hoare triple {17948#false} assume !(0 <= foo_~i~0#1 && foo_~i~0#1 < 32); {17948#false} is VALID [2022-02-20 23:50:24,331 INFO L290 TraceCheckUtils]: 299: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 298: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 297: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 296: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 295: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 294: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 293: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 292: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 291: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 290: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,332 INFO L290 TraceCheckUtils]: 289: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 288: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 287: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 286: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 285: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 284: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 283: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 282: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 281: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 280: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 279: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 278: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 277: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 276: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 275: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,333 INFO L290 TraceCheckUtils]: 274: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 273: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 272: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 271: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 270: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 269: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 268: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 267: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 266: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 265: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 264: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 263: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 262: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 261: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 260: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,334 INFO L290 TraceCheckUtils]: 259: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 258: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 257: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 256: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 255: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 254: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 253: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 252: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 251: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 250: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 249: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 248: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 247: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 246: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 245: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:24,335 INFO L290 TraceCheckUtils]: 244: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 243: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 242: Hoare triple {17948#false} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 241: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 240: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 239: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 238: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 237: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 236: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 235: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 234: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 233: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,336 INFO L290 TraceCheckUtils]: 232: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 231: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 230: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 229: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 228: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 227: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 226: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 225: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 224: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 223: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 222: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 221: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 220: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 219: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,337 INFO L290 TraceCheckUtils]: 218: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 217: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 216: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 215: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 214: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 213: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 212: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 211: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 210: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 209: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 208: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 207: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 206: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 205: Hoare triple {17948#false} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 204: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,338 INFO L290 TraceCheckUtils]: 203: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 202: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 201: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 200: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 199: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 198: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 197: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 196: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 195: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 194: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 193: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 192: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 191: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 190: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 189: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,339 INFO L290 TraceCheckUtils]: 188: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 187: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 186: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 185: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 184: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 183: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 182: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 181: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 180: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 179: Hoare triple {17948#false} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 178: Hoare triple {17948#false} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 177: Hoare triple {17948#false} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 176: Hoare triple {17948#false} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 175: Hoare triple {17948#false} assume !!(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 174: Hoare triple {17948#false} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17948#false} is VALID [2022-02-20 23:50:24,340 INFO L290 TraceCheckUtils]: 173: Hoare triple {17948#false} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17948#false} is VALID [2022-02-20 23:50:24,341 INFO L290 TraceCheckUtils]: 172: Hoare triple {17948#false} havoc main_#t~ret3#1; {17948#false} is VALID [2022-02-20 23:50:24,341 INFO L290 TraceCheckUtils]: 171: Hoare triple {17948#false} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17948#false} is VALID [2022-02-20 23:50:24,341 INFO L290 TraceCheckUtils]: 170: Hoare triple {17948#false} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17948#false} is VALID [2022-02-20 23:50:24,341 INFO L290 TraceCheckUtils]: 169: Hoare triple {17948#false} foo_#res#1 := foo_~i~0#1; {17948#false} is VALID [2022-02-20 23:50:24,341 INFO L290 TraceCheckUtils]: 168: Hoare triple {19275#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {17948#false} is VALID [2022-02-20 23:50:24,342 INFO L290 TraceCheckUtils]: 167: Hoare triple {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {19275#(<= |ULTIMATE.start_foo_~i~0#1| |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,342 INFO L290 TraceCheckUtils]: 166: Hoare triple {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,342 INFO L290 TraceCheckUtils]: 165: Hoare triple {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,342 INFO L290 TraceCheckUtils]: 164: Hoare triple {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,343 INFO L290 TraceCheckUtils]: 163: Hoare triple {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,343 INFO L290 TraceCheckUtils]: 162: Hoare triple {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {19279#(<= (+ |ULTIMATE.start_foo_~i~0#1| 1) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,343 INFO L290 TraceCheckUtils]: 161: Hoare triple {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,344 INFO L290 TraceCheckUtils]: 160: Hoare triple {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,344 INFO L290 TraceCheckUtils]: 159: Hoare triple {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,344 INFO L290 TraceCheckUtils]: 158: Hoare triple {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,345 INFO L290 TraceCheckUtils]: 157: Hoare triple {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {19295#(<= (+ |ULTIMATE.start_foo_~i~0#1| 2) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,345 INFO L290 TraceCheckUtils]: 156: Hoare triple {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,346 INFO L290 TraceCheckUtils]: 155: Hoare triple {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,346 INFO L290 TraceCheckUtils]: 154: Hoare triple {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,346 INFO L290 TraceCheckUtils]: 153: Hoare triple {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,347 INFO L290 TraceCheckUtils]: 152: Hoare triple {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {19311#(<= (+ |ULTIMATE.start_foo_~i~0#1| 3) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,347 INFO L290 TraceCheckUtils]: 151: Hoare triple {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,347 INFO L290 TraceCheckUtils]: 150: Hoare triple {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,348 INFO L290 TraceCheckUtils]: 149: Hoare triple {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,348 INFO L290 TraceCheckUtils]: 148: Hoare triple {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,348 INFO L290 TraceCheckUtils]: 147: Hoare triple {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {19327#(<= (+ |ULTIMATE.start_foo_~i~0#1| 4) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,349 INFO L290 TraceCheckUtils]: 146: Hoare triple {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,349 INFO L290 TraceCheckUtils]: 145: Hoare triple {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,349 INFO L290 TraceCheckUtils]: 144: Hoare triple {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,350 INFO L290 TraceCheckUtils]: 143: Hoare triple {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,350 INFO L290 TraceCheckUtils]: 142: Hoare triple {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {19343#(<= (+ |ULTIMATE.start_foo_~i~0#1| 5) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,350 INFO L290 TraceCheckUtils]: 141: Hoare triple {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,351 INFO L290 TraceCheckUtils]: 140: Hoare triple {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,351 INFO L290 TraceCheckUtils]: 139: Hoare triple {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,351 INFO L290 TraceCheckUtils]: 138: Hoare triple {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,352 INFO L290 TraceCheckUtils]: 137: Hoare triple {17957#(<= 5 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {19359#(<= (+ |ULTIMATE.start_foo_~i~0#1| 6) |ULTIMATE.start_foo_~size#1|)} is VALID [2022-02-20 23:50:24,352 INFO L290 TraceCheckUtils]: 136: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17957#(<= 5 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,353 INFO L290 TraceCheckUtils]: 135: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,353 INFO L290 TraceCheckUtils]: 134: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,353 INFO L290 TraceCheckUtils]: 133: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,353 INFO L290 TraceCheckUtils]: 132: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,354 INFO L290 TraceCheckUtils]: 131: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,354 INFO L290 TraceCheckUtils]: 130: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,354 INFO L290 TraceCheckUtils]: 129: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,354 INFO L290 TraceCheckUtils]: 128: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,355 INFO L290 TraceCheckUtils]: 127: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,355 INFO L290 TraceCheckUtils]: 126: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,355 INFO L290 TraceCheckUtils]: 125: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,356 INFO L290 TraceCheckUtils]: 124: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,356 INFO L290 TraceCheckUtils]: 123: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,356 INFO L290 TraceCheckUtils]: 122: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,356 INFO L290 TraceCheckUtils]: 121: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,357 INFO L290 TraceCheckUtils]: 120: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,357 INFO L290 TraceCheckUtils]: 119: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,357 INFO L290 TraceCheckUtils]: 118: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,357 INFO L290 TraceCheckUtils]: 117: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,358 INFO L290 TraceCheckUtils]: 116: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,358 INFO L290 TraceCheckUtils]: 115: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,358 INFO L290 TraceCheckUtils]: 114: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,358 INFO L290 TraceCheckUtils]: 113: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,359 INFO L290 TraceCheckUtils]: 112: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,359 INFO L290 TraceCheckUtils]: 111: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,359 INFO L290 TraceCheckUtils]: 110: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,360 INFO L290 TraceCheckUtils]: 109: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,360 INFO L290 TraceCheckUtils]: 108: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,360 INFO L290 TraceCheckUtils]: 107: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,360 INFO L290 TraceCheckUtils]: 106: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,361 INFO L290 TraceCheckUtils]: 105: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,361 INFO L290 TraceCheckUtils]: 104: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,361 INFO L290 TraceCheckUtils]: 103: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,361 INFO L290 TraceCheckUtils]: 102: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,362 INFO L290 TraceCheckUtils]: 101: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,362 INFO L290 TraceCheckUtils]: 100: Hoare triple {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,362 INFO L290 TraceCheckUtils]: 99: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {17956#(<= 4 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,363 INFO L290 TraceCheckUtils]: 98: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,363 INFO L290 TraceCheckUtils]: 97: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,363 INFO L290 TraceCheckUtils]: 96: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,363 INFO L290 TraceCheckUtils]: 95: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,364 INFO L290 TraceCheckUtils]: 94: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,364 INFO L290 TraceCheckUtils]: 93: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,364 INFO L290 TraceCheckUtils]: 92: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,365 INFO L290 TraceCheckUtils]: 91: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,365 INFO L290 TraceCheckUtils]: 90: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,365 INFO L290 TraceCheckUtils]: 89: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,365 INFO L290 TraceCheckUtils]: 88: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,366 INFO L290 TraceCheckUtils]: 87: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,366 INFO L290 TraceCheckUtils]: 86: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,366 INFO L290 TraceCheckUtils]: 85: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,366 INFO L290 TraceCheckUtils]: 84: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,367 INFO L290 TraceCheckUtils]: 83: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,367 INFO L290 TraceCheckUtils]: 82: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,367 INFO L290 TraceCheckUtils]: 81: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,367 INFO L290 TraceCheckUtils]: 80: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,368 INFO L290 TraceCheckUtils]: 79: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,368 INFO L290 TraceCheckUtils]: 78: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,368 INFO L290 TraceCheckUtils]: 77: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,369 INFO L290 TraceCheckUtils]: 76: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,369 INFO L290 TraceCheckUtils]: 75: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,369 INFO L290 TraceCheckUtils]: 74: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,369 INFO L290 TraceCheckUtils]: 73: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,370 INFO L290 TraceCheckUtils]: 72: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,370 INFO L290 TraceCheckUtils]: 71: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,370 INFO L290 TraceCheckUtils]: 70: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,370 INFO L290 TraceCheckUtils]: 69: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,371 INFO L290 TraceCheckUtils]: 68: Hoare triple {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,371 INFO L290 TraceCheckUtils]: 67: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {18172#(<= 3 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,371 INFO L290 TraceCheckUtils]: 66: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,372 INFO L290 TraceCheckUtils]: 65: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,372 INFO L290 TraceCheckUtils]: 64: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,372 INFO L290 TraceCheckUtils]: 63: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,372 INFO L290 TraceCheckUtils]: 62: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,373 INFO L290 TraceCheckUtils]: 61: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,373 INFO L290 TraceCheckUtils]: 60: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,373 INFO L290 TraceCheckUtils]: 59: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,374 INFO L290 TraceCheckUtils]: 58: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,374 INFO L290 TraceCheckUtils]: 57: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,374 INFO L290 TraceCheckUtils]: 56: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,374 INFO L290 TraceCheckUtils]: 55: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,375 INFO L290 TraceCheckUtils]: 54: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,375 INFO L290 TraceCheckUtils]: 53: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,375 INFO L290 TraceCheckUtils]: 52: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,375 INFO L290 TraceCheckUtils]: 51: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,376 INFO L290 TraceCheckUtils]: 50: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,376 INFO L290 TraceCheckUtils]: 49: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,376 INFO L290 TraceCheckUtils]: 48: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,376 INFO L290 TraceCheckUtils]: 47: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,377 INFO L290 TraceCheckUtils]: 46: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,377 INFO L290 TraceCheckUtils]: 45: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,377 INFO L290 TraceCheckUtils]: 44: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,378 INFO L290 TraceCheckUtils]: 43: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,378 INFO L290 TraceCheckUtils]: 42: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,378 INFO L290 TraceCheckUtils]: 41: Hoare triple {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,378 INFO L290 TraceCheckUtils]: 40: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {18090#(<= 2 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,379 INFO L290 TraceCheckUtils]: 39: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,379 INFO L290 TraceCheckUtils]: 38: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,379 INFO L290 TraceCheckUtils]: 37: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,380 INFO L290 TraceCheckUtils]: 36: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,380 INFO L290 TraceCheckUtils]: 35: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,380 INFO L290 TraceCheckUtils]: 34: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,380 INFO L290 TraceCheckUtils]: 33: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,381 INFO L290 TraceCheckUtils]: 32: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,381 INFO L290 TraceCheckUtils]: 31: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,381 INFO L290 TraceCheckUtils]: 30: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,381 INFO L290 TraceCheckUtils]: 29: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,382 INFO L290 TraceCheckUtils]: 28: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,382 INFO L290 TraceCheckUtils]: 26: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,382 INFO L290 TraceCheckUtils]: 25: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,383 INFO L290 TraceCheckUtils]: 24: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,383 INFO L290 TraceCheckUtils]: 23: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,383 INFO L290 TraceCheckUtils]: 22: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,384 INFO L290 TraceCheckUtils]: 21: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,384 INFO L290 TraceCheckUtils]: 20: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,384 INFO L290 TraceCheckUtils]: 19: Hoare triple {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,385 INFO L290 TraceCheckUtils]: 18: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~post2#1 := main_~i~1#1;main_~i~1#1 := 1 + main_#t~post2#1;havoc main_#t~post2#1; {18023#(<= 1 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,385 INFO L290 TraceCheckUtils]: 17: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} havoc main_#t~ret3#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,385 INFO L290 TraceCheckUtils]: 16: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call write~int(main_#t~ret3#1, main_~#b~0#1.base, main_~#b~0#1.offset + 4 * main_~i~1#1, 4); srcloc: L27 {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,385 INFO L290 TraceCheckUtils]: 15: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} main_#t~ret3#1 := foo_#res#1;assume { :end_inline_foo } true;assume -2147483648 <= main_#t~ret3#1 && main_#t~ret3#1 <= 2147483647; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,386 INFO L290 TraceCheckUtils]: 14: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#res#1 := foo_~i~0#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,386 INFO L290 TraceCheckUtils]: 13: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !(foo_~i~0#1 <= foo_~size#1); {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,386 INFO L290 TraceCheckUtils]: 12: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,386 INFO L290 TraceCheckUtils]: 11: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,387 INFO L290 TraceCheckUtils]: 10: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,387 INFO L290 TraceCheckUtils]: 9: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,387 INFO L290 TraceCheckUtils]: 8: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,387 INFO L290 TraceCheckUtils]: 7: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_#t~post0#1 := foo_~i~0#1;foo_~i~0#1 := 1 + foo_#t~post0#1;havoc foo_#t~post0#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,388 INFO L290 TraceCheckUtils]: 6: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} foo_~a~0#1 := foo_~a~0#1[foo_~i~0#1 := foo_#t~mem1#1];havoc foo_#t~mem1#1; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,388 INFO L290 TraceCheckUtils]: 5: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} SUMMARY for call foo_#t~mem1#1 := read~int(foo_~b#1.base, foo_~b#1.offset + foo_~i~0#1, 1); srcloc: L18-1 {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,388 INFO L290 TraceCheckUtils]: 4: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume 0 <= foo_~i~0#1 && foo_~i~0#1 < 32; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,389 INFO L290 TraceCheckUtils]: 3: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(foo_~i~0#1 <= foo_~size#1); {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,389 INFO L290 TraceCheckUtils]: 2: Hoare triple {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} assume !!(main_~i~1#1 % 4294967296 < 32);assume { :begin_inline_foo } true;foo_#in~b#1.base, foo_#in~b#1.offset, foo_#in~size#1 := main_~#mask~0#1.base, main_~#mask~0#1.offset, 1 + main_~i~1#1;havoc foo_#res#1;havoc foo_#t~mem1#1, foo_#t~post0#1, foo_~b#1.base, foo_~b#1.offset, foo_~size#1, foo_~a~0#1, foo_~i~0#1;foo_~b#1.base, foo_~b#1.offset := foo_#in~b#1.base, foo_#in~b#1.offset;foo_~size#1 := foo_#in~size#1;havoc foo_~a~0#1;havoc foo_~i~0#1;foo_~i~0#1 := 0; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,389 INFO L290 TraceCheckUtils]: 1: Hoare triple {17947#true} assume { :end_inline_ULTIMATE.init } true;main_old_#valid#1 := #valid;assume { :begin_inline_main } true;havoc main_#res#1;havoc main_#t~ret3#1, main_#t~post2#1, main_#t~mem5#1, main_#t~post4#1, main_~i~1#1, main_~#b~0#1.base, main_~#b~0#1.offset, main_~#mask~0#1.base, main_~#mask~0#1.offset;havoc main_~i~1#1;call main_~#b~0#1.base, main_~#b~0#1.offset := #Ultimate.allocOnStack(128);call main_~#mask~0#1.base, main_~#mask~0#1.offset := #Ultimate.allocOnStack(32);main_~i~1#1 := 0; {17971#(<= 0 |ULTIMATE.start_main_~i~1#1|)} is VALID [2022-02-20 23:50:24,389 INFO L290 TraceCheckUtils]: 0: Hoare triple {17947#true} assume { :begin_inline_ULTIMATE.init } true;#NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier; {17947#true} is VALID [2022-02-20 23:50:24,391 INFO L134 CoverageAnalysis]: Checked inductivity of 6332 backedges. 4137 proven. 736 refuted. 0 times theorem prover too weak. 1459 trivial. 0 not checked. [2022-02-20 23:50:24,392 INFO L165 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1330465070] provided 0 perfect and 2 imperfect interpolant sequences [2022-02-20 23:50:24,392 INFO L191 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-02-20 23:50:24,392 INFO L204 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [18, 15, 15] total 36 [2022-02-20 23:50:24,392 INFO L118 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1364372888] [2022-02-20 23:50:24,392 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-02-20 23:50:24,393 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 6.0) internal successors, (216), 36 states have internal predecessors, (216), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 301 [2022-02-20 23:50:24,393 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-02-20 23:50:24,394 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with has 36 states, 36 states have (on average 6.0) internal successors, (216), 36 states have internal predecessors, (216), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:24,531 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 216 edges. 216 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-02-20 23:50:24,532 INFO L546 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-02-20 23:50:24,532 INFO L108 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-02-20 23:50:24,532 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-02-20 23:50:24,532 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=233, Invalid=1027, Unknown=0, NotChecked=0, Total=1260 [2022-02-20 23:50:24,533 INFO L87 Difference]: Start difference. First operand 354 states and 369 transitions. Second operand has 36 states, 36 states have (on average 6.0) internal successors, (216), 36 states have internal predecessors, (216), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:27,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:27,815 INFO L93 Difference]: Finished difference Result 354 states and 365 transitions. [2022-02-20 23:50:27,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 42 states. [2022-02-20 23:50:27,815 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 36 states have (on average 6.0) internal successors, (216), 36 states have internal predecessors, (216), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Word has length 301 [2022-02-20 23:50:27,815 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-02-20 23:50:27,816 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 6.0) internal successors, (216), 36 states have internal predecessors, (216), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:27,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 188 transitions. [2022-02-20 23:50:27,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 36 states have (on average 6.0) internal successors, (216), 36 states have internal predecessors, (216), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:27,819 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 42 states to 42 states and 188 transitions. [2022-02-20 23:50:27,819 INFO L86 InductivityCheck]: Starting indutivity check of a Floyd-Hoare automaton with 42 states and 188 transitions. [2022-02-20 23:50:27,960 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:50:27,964 INFO L225 Difference]: With dead ends: 354 [2022-02-20 23:50:27,964 INFO L226 Difference]: Without dead ends: 354 [2022-02-20 23:50:27,965 INFO L932 BasicCegarLoop]: 0 DeclaredPredicates, 652 GetRequests, 585 SyntacticMatches, 0 SemanticMatches, 67 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 986 ImplicationChecksByTransitivity, 1.1s TimeCoverageRelationStatistics Valid=899, Invalid=3793, Unknown=0, NotChecked=0, Total=4692 [2022-02-20 23:50:27,966 INFO L933 BasicCegarLoop]: 14 mSDtfsCounter, 129 mSDsluCounter, 162 mSDsCounter, 0 mSdLazyCounter, 2079 mSolverCounterSat, 22 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 129 SdHoareTripleChecker+Valid, 176 SdHoareTripleChecker+Invalid, 2101 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 22 IncrementalHoareTripleChecker+Valid, 2079 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-02-20 23:50:27,966 INFO L934 BasicCegarLoop]: SdHoareTripleChecker [129 Valid, 176 Invalid, 2101 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [22 Valid, 2079 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-02-20 23:50:27,967 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 354 states. [2022-02-20 23:50:27,970 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 354 to 354. [2022-02-20 23:50:27,971 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-02-20 23:50:27,971 INFO L82 GeneralOperation]: Start isEquivalent. First operand 354 states. Second operand has 354 states, 352 states have (on average 1.0369318181818181) internal successors, (365), 353 states have internal predecessors, (365), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:27,971 INFO L74 IsIncluded]: Start isIncluded. First operand 354 states. Second operand has 354 states, 352 states have (on average 1.0369318181818181) internal successors, (365), 353 states have internal predecessors, (365), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:27,972 INFO L87 Difference]: Start difference. First operand 354 states. Second operand has 354 states, 352 states have (on average 1.0369318181818181) internal successors, (365), 353 states have internal predecessors, (365), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:27,978 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:27,978 INFO L93 Difference]: Finished difference Result 354 states and 365 transitions. [2022-02-20 23:50:27,978 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 365 transitions. [2022-02-20 23:50:27,979 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:27,979 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:27,979 INFO L74 IsIncluded]: Start isIncluded. First operand has 354 states, 352 states have (on average 1.0369318181818181) internal successors, (365), 353 states have internal predecessors, (365), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 354 states. [2022-02-20 23:50:27,980 INFO L87 Difference]: Start difference. First operand has 354 states, 352 states have (on average 1.0369318181818181) internal successors, (365), 353 states have internal predecessors, (365), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) Second operand 354 states. [2022-02-20 23:50:27,986 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-02-20 23:50:27,986 INFO L93 Difference]: Finished difference Result 354 states and 365 transitions. [2022-02-20 23:50:27,986 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 365 transitions. [2022-02-20 23:50:27,987 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-02-20 23:50:27,987 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-02-20 23:50:27,987 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-02-20 23:50:27,987 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-02-20 23:50:27,988 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 354 states, 352 states have (on average 1.0369318181818181) internal successors, (365), 353 states have internal predecessors, (365), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:27,993 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 354 states to 354 states and 365 transitions. [2022-02-20 23:50:27,994 INFO L78 Accepts]: Start accepts. Automaton has 354 states and 365 transitions. Word has length 301 [2022-02-20 23:50:27,994 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-02-20 23:50:27,994 INFO L470 AbstractCegarLoop]: Abstraction has 354 states and 365 transitions. [2022-02-20 23:50:27,995 INFO L471 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 36 states have (on average 6.0) internal successors, (216), 36 states have internal predecessors, (216), 0 states have call successors, (0), 0 states have call predecessors, (0), 0 states have return successors, (0), 0 states have call predecessors, (0), 0 states have call successors, (0) [2022-02-20 23:50:27,995 INFO L276 IsEmpty]: Start isEmpty. Operand 354 states and 365 transitions. [2022-02-20 23:50:27,998 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 317 [2022-02-20 23:50:27,998 INFO L506 BasicCegarLoop]: Found error trace [2022-02-20 23:50:27,998 INFO L514 BasicCegarLoop]: trace histogram [52, 51, 51, 51, 51, 9, 8, 8, 8, 8, 8, 8, 1, 1, 1] [2022-02-20 23:50:28,031 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:50:28,223 WARN L452 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable25,20 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-02-20 23:50:28,223 INFO L402 AbstractCegarLoop]: === Iteration 27 === Targeting ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX === [ULTIMATE.startErr0ASSERT_VIOLATIONARRAY_INDEX, ULTIMATE.startErr1REQUIRES_VIOLATION, ULTIMATE.startErr2REQUIRES_VIOLATION (and 5 more)] === [2022-02-20 23:50:28,224 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-02-20 23:50:28,224 INFO L85 PathProgramCache]: Analyzing trace with hash 1134310783, now seen corresponding path program 7 times [2022-02-20 23:50:28,224 INFO L126 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-02-20 23:50:28,224 INFO L338 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [796594904] [2022-02-20 23:50:28,224 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-02-20 23:50:28,224 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms