/usr/bin/java -ea -Xmx8000000000 -Xss4m -jar ./plugins/org.eclipse.equinox.launcher_1.5.800.v20200727-1323.jar -data @noDefault -ultimatedata ./data --core.log.level.for.class de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN -tc ../../../trunk/examples/toolchains/AutomizerC.xml -s ../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf -i ../../../trunk/examples/svcomp/loops/insertion_sort-2.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-27 10:16:55,454 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-27 10:16:55,455 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-27 10:16:55,478 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-27 10:16:55,478 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-27 10:16:55,479 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-27 10:16:55,480 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-27 10:16:55,481 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-27 10:16:55,482 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-27 10:16:55,482 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-27 10:16:55,483 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-27 10:16:55,484 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-27 10:16:55,484 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-27 10:16:55,484 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-27 10:16:55,485 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-27 10:16:55,486 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-27 10:16:55,486 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-27 10:16:55,487 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-27 10:16:55,488 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-27 10:16:55,489 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-27 10:16:55,490 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-27 10:16:55,490 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-27 10:16:55,491 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-27 10:16:55,491 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-27 10:16:55,492 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-27 10:16:55,494 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-27 10:16:55,494 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-27 10:16:55,494 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-27 10:16:55,494 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-27 10:16:55,495 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-27 10:16:55,495 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-27 10:16:55,495 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-27 10:16:55,496 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-27 10:16:55,496 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-27 10:16:55,497 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-27 10:16:55,497 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-27 10:16:55,497 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-27 10:16:55,498 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-27 10:16:55,498 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-27 10:16:55,498 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-27 10:16:55,499 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-27 10:16:55,499 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-27 10:16:55,500 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/default/automizer/svcomp-Reach-32bit-Automizer_Default.epf [2022-04-27 10:16:55,523 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-27 10:16:55,524 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-27 10:16:55,524 INFO L136 SettingsManager]: Preferences of UltimateCore differ from their defaults: [2022-04-27 10:16:55,524 INFO L138 SettingsManager]: * Log level for class=de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=ERROR; [2022-04-27 10:16:55,525 INFO L136 SettingsManager]: Preferences of Boogie Procedure Inliner differ from their defaults: [2022-04-27 10:16:55,525 INFO L138 SettingsManager]: * Ignore calls to procedures called more than once=ONLY_FOR_SEQUENTIAL_PROGRAMS [2022-04-27 10:16:55,526 INFO L136 SettingsManager]: Preferences of BlockEncodingV2 differ from their defaults: [2022-04-27 10:16:55,526 INFO L138 SettingsManager]: * Create parallel compositions if possible=false [2022-04-27 10:16:55,526 INFO L138 SettingsManager]: * Use SBE=true [2022-04-27 10:16:55,527 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-27 10:16:55,527 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-27 10:16:55,527 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-27 10:16:55,527 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-27 10:16:55,527 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-27 10:16:55,528 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-27 10:16:55,528 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-27 10:16:55,528 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-27 10:16:55,529 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-27 10:16:55,529 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-27 10:16:55,529 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-27 10:16:55,529 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-27 10:16:55,529 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-27 10:16:55,529 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-27 10:16:55,529 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-27 10:16:55,529 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 10:16:55,529 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-27 10:16:55,529 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=FPandBP [2022-04-27 10:16:55,530 INFO L138 SettingsManager]: * Positions where we compute the Hoare Annotation=LoopsAndPotentialCycles [2022-04-27 10:16:55,530 INFO L138 SettingsManager]: * Trace refinement strategy=CAMEL [2022-04-27 10:16:55,530 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in [2022-04-27 10:16:55,530 INFO L138 SettingsManager]: * Apply one-shot large block encoding in concurrent analysis=false [2022-04-27 10:16:55,530 INFO L138 SettingsManager]: * Automaton type used in concurrency analysis=PETRI_NET [2022-04-27 10:16:55,530 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-27 10:16:55,530 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.core: Log level for class -> de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher=WARN; [2022-04-27 10:16:55,694 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-27 10:16:55,708 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-27 10:16:55,710 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-27 10:16:55,711 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-27 10:16:55,711 INFO L275 PluginConnector]: CDTParser initialized [2022-04-27 10:16:55,712 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/loops/insertion_sort-2.c [2022-04-27 10:16:55,758 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1e5a7669b/e9f5a07c5eca47c5914aacc75835a236/FLAG35e64e9a3 [2022-04-27 10:16:56,116 INFO L306 CDTParser]: Found 1 translation units. [2022-04-27 10:16:56,116 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/loops/insertion_sort-2.c [2022-04-27 10:16:56,121 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1e5a7669b/e9f5a07c5eca47c5914aacc75835a236/FLAG35e64e9a3 [2022-04-27 10:16:56,549 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/1e5a7669b/e9f5a07c5eca47c5914aacc75835a236 [2022-04-27 10:16:56,551 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-27 10:16:56,552 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-27 10:16:56,568 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-27 10:16:56,568 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-27 10:16:56,570 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-27 10:16:56,571 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,572 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@62c2d145 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56, skipping insertion in model container [2022-04-27 10:16:56,572 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,577 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-27 10:16:56,588 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-27 10:16:56,720 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/insertion_sort-2.c[328,341] [2022-04-27 10:16:56,733 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 10:16:56,738 INFO L203 MainTranslator]: Completed pre-run [2022-04-27 10:16:56,745 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/loops/insertion_sort-2.c[328,341] [2022-04-27 10:16:56,751 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-27 10:16:56,760 INFO L208 MainTranslator]: Completed translation [2022-04-27 10:16:56,760 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56 WrapperNode [2022-04-27 10:16:56,760 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-27 10:16:56,761 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-27 10:16:56,761 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-27 10:16:56,761 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-27 10:16:56,767 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,768 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,772 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,772 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,778 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,782 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,783 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,785 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-27 10:16:56,785 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-27 10:16:56,785 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-27 10:16:56,785 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-27 10:16:56,786 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (1/1) ... [2022-04-27 10:16:56,799 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-27 10:16:56,806 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:16:56,816 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-04-27 10:16:56,856 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-04-27 10:16:56,866 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-27 10:16:56,866 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-27 10:16:56,866 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-27 10:16:56,867 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-27 10:16:56,867 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_uint [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-27 10:16:56,867 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-27 10:16:56,868 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-27 10:16:56,868 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-27 10:16:56,868 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-27 10:16:56,868 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-27 10:16:56,868 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-27 10:16:56,868 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-27 10:16:56,909 INFO L234 CfgBuilder]: Building ICFG [2022-04-27 10:16:56,911 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-27 10:16:57,031 INFO L275 CfgBuilder]: Performing block encoding [2022-04-27 10:16:57,035 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-27 10:16:57,035 INFO L299 CfgBuilder]: Removed 4 assume(true) statements. [2022-04-27 10:16:57,037 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:16:57 BoogieIcfgContainer [2022-04-27 10:16:57,037 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-27 10:16:57,038 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-27 10:16:57,038 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-27 10:16:57,040 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-27 10:16:57,040 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 27.04 10:16:56" (1/3) ... [2022-04-27 10:16:57,041 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27428ede and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 10:16:57, skipping insertion in model container [2022-04-27 10:16:57,041 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 27.04 10:16:56" (2/3) ... [2022-04-27 10:16:57,041 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@27428ede and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 27.04 10:16:57, skipping insertion in model container [2022-04-27 10:16:57,041 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 27.04 10:16:57" (3/3) ... [2022-04-27 10:16:57,042 INFO L111 eAbstractionObserver]: Analyzing ICFG insertion_sort-2.c [2022-04-27 10:16:57,051 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:FPandBP Determinization: PREDICATE_ABSTRACTION [2022-04-27 10:16:57,051 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-27 10:16:57,078 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-27 10:16:57,083 INFO L357 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=true, mAutomataTypeConcurrency=PETRI_NET, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=LoopsAndPotentialCycles, 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, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@6a142ca8, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@65bd029a [2022-04-27 10:16:57,083 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-27 10:16:57,089 INFO L276 IsEmpty]: Start isEmpty. Operand has 31 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 24 states have internal predecessors, (34), 3 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:16:57,093 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-04-27 10:16:57,094 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:57,094 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:57,094 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:57,098 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:57,098 INFO L85 PathProgramCache]: Analyzing trace with hash 1914549692, now seen corresponding path program 1 times [2022-04-27 10:16:57,104 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:57,104 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [607563901] [2022-04-27 10:16:57,104 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:57,105 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:57,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,292 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:57,320 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,331 INFO L290 TraceCheckUtils]: 0: Hoare triple {39#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {34#true} is VALID [2022-04-27 10:16:57,332 INFO L290 TraceCheckUtils]: 1: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-27 10:16:57,332 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {34#true} {34#true} #87#return; {34#true} is VALID [2022-04-27 10:16:57,336 INFO L272 TraceCheckUtils]: 0: Hoare triple {34#true} call ULTIMATE.init(); {39#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:57,336 INFO L290 TraceCheckUtils]: 1: Hoare triple {39#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {34#true} is VALID [2022-04-27 10:16:57,336 INFO L290 TraceCheckUtils]: 2: Hoare triple {34#true} assume true; {34#true} is VALID [2022-04-27 10:16:57,337 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {34#true} {34#true} #87#return; {34#true} is VALID [2022-04-27 10:16:57,337 INFO L272 TraceCheckUtils]: 4: Hoare triple {34#true} call #t~ret15 := main(); {34#true} is VALID [2022-04-27 10:16:57,337 INFO L290 TraceCheckUtils]: 5: Hoare triple {34#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {34#true} is VALID [2022-04-27 10:16:57,337 INFO L290 TraceCheckUtils]: 6: Hoare triple {34#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {34#true} is VALID [2022-04-27 10:16:57,337 INFO L290 TraceCheckUtils]: 7: Hoare triple {34#true} ~j~0 := 1; {34#true} is VALID [2022-04-27 10:16:57,338 INFO L290 TraceCheckUtils]: 8: Hoare triple {34#true} assume !true; {35#false} is VALID [2022-04-27 10:16:57,339 INFO L290 TraceCheckUtils]: 9: Hoare triple {35#false} ~k~0 := 1; {35#false} is VALID [2022-04-27 10:16:57,339 INFO L290 TraceCheckUtils]: 10: Hoare triple {35#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {35#false} is VALID [2022-04-27 10:16:57,339 INFO L272 TraceCheckUtils]: 11: Hoare triple {35#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {35#false} is VALID [2022-04-27 10:16:57,339 INFO L290 TraceCheckUtils]: 12: Hoare triple {35#false} ~cond := #in~cond; {35#false} is VALID [2022-04-27 10:16:57,339 INFO L290 TraceCheckUtils]: 13: Hoare triple {35#false} assume 0 == ~cond; {35#false} is VALID [2022-04-27 10:16:57,339 INFO L290 TraceCheckUtils]: 14: Hoare triple {35#false} assume !false; {35#false} is VALID [2022-04-27 10:16:57,340 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:57,340 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:57,340 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [607563901] [2022-04-27 10:16:57,341 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [607563901] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:16:57,341 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:16:57,341 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [3] imperfect sequences [] total 3 [2022-04-27 10:16:57,342 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1389564267] [2022-04-27 10:16:57,343 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:16:57,346 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-04-27 10:16:57,347 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:16:57,349 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,377 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:57,377 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 3 states [2022-04-27 10:16:57,377 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:16:57,398 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 3 interpolants. [2022-04-27 10:16:57,399 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=3, Invalid=3, Unknown=0, NotChecked=0, Total=6 [2022-04-27 10:16:57,403 INFO L87 Difference]: Start difference. First operand has 31 states, 23 states have (on average 1.4782608695652173) internal successors, (34), 24 states have internal predecessors, (34), 3 states have call successors, (3), 3 states have call predecessors, (3), 3 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Second operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,500 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:57,501 INFO L93 Difference]: Finished difference Result 54 states and 71 transitions. [2022-04-27 10:16:57,501 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 3 states. [2022-04-27 10:16:57,501 INFO L78 Accepts]: Start accepts. Automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-04-27 10:16:57,502 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:16:57,503 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,513 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2022-04-27 10:16:57,513 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,520 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 3 states to 3 states and 71 transitions. [2022-04-27 10:16:57,521 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 3 states and 71 transitions. [2022-04-27 10:16:57,597 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 71 edges. 71 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:57,605 INFO L225 Difference]: With dead ends: 54 [2022-04-27 10:16:57,605 INFO L226 Difference]: Without dead ends: 26 [2022-04-27 10:16:57,607 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 4 GetRequests, 3 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-04-27 10:16:57,610 INFO L413 NwaCegarLoop]: 34 mSDtfsCounter, 26 mSDsluCounter, 3 mSDsCounter, 0 mSdLazyCounter, 3 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 27 SdHoareTripleChecker+Valid, 37 SdHoareTripleChecker+Invalid, 5 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 3 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:16:57,611 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [27 Valid, 37 Invalid, 5 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 3 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 10:16:57,621 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 26 states. [2022-04-27 10:16:57,639 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 26 to 26. [2022-04-27 10:16:57,639 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:16:57,640 INFO L82 GeneralOperation]: Start isEquivalent. First operand 26 states. Second operand has 26 states, 20 states have (on average 1.25) internal successors, (25), 20 states have internal predecessors, (25), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:57,641 INFO L74 IsIncluded]: Start isIncluded. First operand 26 states. Second operand has 26 states, 20 states have (on average 1.25) internal successors, (25), 20 states have internal predecessors, (25), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:57,641 INFO L87 Difference]: Start difference. First operand 26 states. Second operand has 26 states, 20 states have (on average 1.25) internal successors, (25), 20 states have internal predecessors, (25), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:57,644 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:57,644 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2022-04-27 10:16:57,644 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2022-04-27 10:16:57,645 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:57,645 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:57,645 INFO L74 IsIncluded]: Start isIncluded. First operand has 26 states, 20 states have (on average 1.25) internal successors, (25), 20 states have internal predecessors, (25), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 26 states. [2022-04-27 10:16:57,646 INFO L87 Difference]: Start difference. First operand has 26 states, 20 states have (on average 1.25) internal successors, (25), 20 states have internal predecessors, (25), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 26 states. [2022-04-27 10:16:57,648 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:57,649 INFO L93 Difference]: Finished difference Result 26 states and 30 transitions. [2022-04-27 10:16:57,649 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2022-04-27 10:16:57,649 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:57,649 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:57,649 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:16:57,650 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:16:57,650 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 26 states, 20 states have (on average 1.25) internal successors, (25), 20 states have internal predecessors, (25), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:57,653 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 30 transitions. [2022-04-27 10:16:57,654 INFO L78 Accepts]: Start accepts. Automaton has 26 states and 30 transitions. Word has length 15 [2022-04-27 10:16:57,655 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:16:57,657 INFO L495 AbstractCegarLoop]: Abstraction has 26 states and 30 transitions. [2022-04-27 10:16:57,658 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 3 states, 3 states have (on average 3.6666666666666665) internal successors, (11), 2 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,661 INFO L276 IsEmpty]: Start isEmpty. Operand 26 states and 30 transitions. [2022-04-27 10:16:57,662 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 16 [2022-04-27 10:16:57,662 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:57,662 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:57,663 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-27 10:16:57,663 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:57,664 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:57,665 INFO L85 PathProgramCache]: Analyzing trace with hash 314290466, now seen corresponding path program 1 times [2022-04-27 10:16:57,665 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:57,665 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [535401766] [2022-04-27 10:16:57,665 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:57,665 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:57,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,816 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:57,824 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:57,834 INFO L290 TraceCheckUtils]: 0: Hoare triple {207#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {199#true} is VALID [2022-04-27 10:16:57,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {199#true} assume true; {199#true} is VALID [2022-04-27 10:16:57,834 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {199#true} {199#true} #87#return; {199#true} is VALID [2022-04-27 10:16:57,835 INFO L272 TraceCheckUtils]: 0: Hoare triple {199#true} call ULTIMATE.init(); {207#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:57,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {207#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {199#true} is VALID [2022-04-27 10:16:57,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {199#true} assume true; {199#true} is VALID [2022-04-27 10:16:57,835 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {199#true} {199#true} #87#return; {199#true} is VALID [2022-04-27 10:16:57,836 INFO L272 TraceCheckUtils]: 4: Hoare triple {199#true} call #t~ret15 := main(); {199#true} is VALID [2022-04-27 10:16:57,836 INFO L290 TraceCheckUtils]: 5: Hoare triple {199#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {204#(= main_~j~0 0)} is VALID [2022-04-27 10:16:57,837 INFO L290 TraceCheckUtils]: 6: Hoare triple {204#(= main_~j~0 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {205#(<= main_~SIZE~0 (* (div main_~SIZE~0 4294967296) 4294967296))} is VALID [2022-04-27 10:16:57,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {205#(<= main_~SIZE~0 (* (div main_~SIZE~0 4294967296) 4294967296))} ~j~0 := 1; {205#(<= main_~SIZE~0 (* (div main_~SIZE~0 4294967296) 4294967296))} is VALID [2022-04-27 10:16:57,838 INFO L290 TraceCheckUtils]: 8: Hoare triple {205#(<= main_~SIZE~0 (* (div main_~SIZE~0 4294967296) 4294967296))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {205#(<= main_~SIZE~0 (* (div main_~SIZE~0 4294967296) 4294967296))} is VALID [2022-04-27 10:16:57,838 INFO L290 TraceCheckUtils]: 9: Hoare triple {205#(<= main_~SIZE~0 (* (div main_~SIZE~0 4294967296) 4294967296))} ~k~0 := 1; {206#(and (<= main_~SIZE~0 (* (div main_~SIZE~0 4294967296) 4294967296)) (= (+ (- 1) main_~k~0) 0))} is VALID [2022-04-27 10:16:57,839 INFO L290 TraceCheckUtils]: 10: Hoare triple {206#(and (<= main_~SIZE~0 (* (div main_~SIZE~0 4294967296) 4294967296)) (= (+ (- 1) main_~k~0) 0))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {200#false} is VALID [2022-04-27 10:16:57,839 INFO L272 TraceCheckUtils]: 11: Hoare triple {200#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {200#false} is VALID [2022-04-27 10:16:57,839 INFO L290 TraceCheckUtils]: 12: Hoare triple {200#false} ~cond := #in~cond; {200#false} is VALID [2022-04-27 10:16:57,840 INFO L290 TraceCheckUtils]: 13: Hoare triple {200#false} assume 0 == ~cond; {200#false} is VALID [2022-04-27 10:16:57,840 INFO L290 TraceCheckUtils]: 14: Hoare triple {200#false} assume !false; {200#false} is VALID [2022-04-27 10:16:57,840 INFO L134 CoverageAnalysis]: Checked inductivity of 0 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:57,840 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:57,840 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [535401766] [2022-04-27 10:16:57,841 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [535401766] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:16:57,841 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:16:57,841 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 10:16:57,841 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1259810881] [2022-04-27 10:16:57,841 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:16:57,843 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-04-27 10:16:57,843 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:16:57,843 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:57,854 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 15 edges. 15 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:57,855 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 10:16:57,855 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:16:57,856 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 10:16:57,856 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=10, Invalid=20, Unknown=0, NotChecked=0, Total=30 [2022-04-27 10:16:57,856 INFO L87 Difference]: Start difference. First operand 26 states and 30 transitions. Second operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,059 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,059 INFO L93 Difference]: Finished difference Result 49 states and 58 transitions. [2022-04-27 10:16:58,059 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 10:16:58,060 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 15 [2022-04-27 10:16:58,060 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:16:58,060 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,061 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 58 transitions. [2022-04-27 10:16:58,062 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,063 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 58 transitions. [2022-04-27 10:16:58,063 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 58 transitions. [2022-04-27 10:16:58,137 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 58 edges. 58 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:58,138 INFO L225 Difference]: With dead ends: 49 [2022-04-27 10:16:58,138 INFO L226 Difference]: Without dead ends: 28 [2022-04-27 10:16:58,138 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 3 SyntacticMatches, 0 SemanticMatches, 8 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 6 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=31, Invalid=59, Unknown=0, NotChecked=0, Total=90 [2022-04-27 10:16:58,139 INFO L413 NwaCegarLoop]: 25 mSDtfsCounter, 31 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 58 mSolverCounterSat, 4 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 32 SdHoareTripleChecker+Valid, 37 SdHoareTripleChecker+Invalid, 62 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 4 IncrementalHoareTripleChecker+Valid, 58 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:16:58,140 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [32 Valid, 37 Invalid, 62 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [4 Valid, 58 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 10:16:58,140 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 28 states. [2022-04-27 10:16:58,147 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 28 to 27. [2022-04-27 10:16:58,147 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:16:58,147 INFO L82 GeneralOperation]: Start isEquivalent. First operand 28 states. Second operand has 27 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,147 INFO L74 IsIncluded]: Start isIncluded. First operand 28 states. Second operand has 27 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,148 INFO L87 Difference]: Start difference. First operand 28 states. Second operand has 27 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,156 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,157 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2022-04-27 10:16:58,157 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2022-04-27 10:16:58,157 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,157 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,157 INFO L74 IsIncluded]: Start isIncluded. First operand has 27 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 28 states. [2022-04-27 10:16:58,157 INFO L87 Difference]: Start difference. First operand has 27 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 28 states. [2022-04-27 10:16:58,158 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:58,159 INFO L93 Difference]: Finished difference Result 28 states and 32 transitions. [2022-04-27 10:16:58,159 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2022-04-27 10:16:58,159 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:58,159 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:58,159 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:16:58,159 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:16:58,159 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 21 states have (on average 1.2380952380952381) internal successors, (26), 21 states have internal predecessors, (26), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:58,160 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 27 states to 27 states and 31 transitions. [2022-04-27 10:16:58,160 INFO L78 Accepts]: Start accepts. Automaton has 27 states and 31 transitions. Word has length 15 [2022-04-27 10:16:58,160 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:16:58,160 INFO L495 AbstractCegarLoop]: Abstraction has 27 states and 31 transitions. [2022-04-27 10:16:58,160 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 1.8333333333333333) internal successors, (11), 5 states have internal predecessors, (11), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,161 INFO L276 IsEmpty]: Start isEmpty. Operand 27 states and 31 transitions. [2022-04-27 10:16:58,161 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 18 [2022-04-27 10:16:58,161 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:58,161 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:58,161 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1 [2022-04-27 10:16:58,161 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:58,162 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:58,162 INFO L85 PathProgramCache]: Analyzing trace with hash 408725728, now seen corresponding path program 1 times [2022-04-27 10:16:58,162 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:58,162 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [265157791] [2022-04-27 10:16:58,162 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:58,162 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:58,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,321 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:58,323 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,327 INFO L290 TraceCheckUtils]: 0: Hoare triple {389#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {379#true} is VALID [2022-04-27 10:16:58,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {379#true} assume true; {379#true} is VALID [2022-04-27 10:16:58,327 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {379#true} {379#true} #87#return; {379#true} is VALID [2022-04-27 10:16:58,328 INFO L272 TraceCheckUtils]: 0: Hoare triple {379#true} call ULTIMATE.init(); {389#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:58,328 INFO L290 TraceCheckUtils]: 1: Hoare triple {389#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {379#true} is VALID [2022-04-27 10:16:58,328 INFO L290 TraceCheckUtils]: 2: Hoare triple {379#true} assume true; {379#true} is VALID [2022-04-27 10:16:58,328 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {379#true} {379#true} #87#return; {379#true} is VALID [2022-04-27 10:16:58,328 INFO L272 TraceCheckUtils]: 4: Hoare triple {379#true} call #t~ret15 := main(); {379#true} is VALID [2022-04-27 10:16:58,329 INFO L290 TraceCheckUtils]: 5: Hoare triple {379#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {384#(= main_~j~0 0)} is VALID [2022-04-27 10:16:58,330 INFO L290 TraceCheckUtils]: 6: Hoare triple {384#(= main_~j~0 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {385#(and (<= (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1) (+ main_~SIZE~0 (* 4294967296 (div main_~j~0 4294967296)))) (= main_~j~0 0))} is VALID [2022-04-27 10:16:58,330 INFO L290 TraceCheckUtils]: 7: Hoare triple {385#(and (<= (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1) (+ main_~SIZE~0 (* 4294967296 (div main_~j~0 4294967296)))) (= main_~j~0 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {386#(and (not (<= (+ (div main_~j~0 4294967296) 1) 0)) (<= (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296)) (+ main_~SIZE~0 (* (div (+ (* (- 1) main_~j~0) 1) 4294967296) 4294967296))))} is VALID [2022-04-27 10:16:58,331 INFO L290 TraceCheckUtils]: 8: Hoare triple {386#(and (not (<= (+ (div main_~j~0 4294967296) 1) 0)) (<= (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296)) (+ main_~SIZE~0 (* (div (+ (* (- 1) main_~j~0) 1) 4294967296) 4294967296))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {387#(<= 0 (div (+ (* (div main_~SIZE~0 4294967296) 4294967296) (* (- 1) main_~SIZE~0) 1) 4294967296))} is VALID [2022-04-27 10:16:58,331 INFO L290 TraceCheckUtils]: 9: Hoare triple {387#(<= 0 (div (+ (* (div main_~SIZE~0 4294967296) 4294967296) (* (- 1) main_~SIZE~0) 1) 4294967296))} ~j~0 := 1; {387#(<= 0 (div (+ (* (div main_~SIZE~0 4294967296) 4294967296) (* (- 1) main_~SIZE~0) 1) 4294967296))} is VALID [2022-04-27 10:16:58,332 INFO L290 TraceCheckUtils]: 10: Hoare triple {387#(<= 0 (div (+ (* (div main_~SIZE~0 4294967296) 4294967296) (* (- 1) main_~SIZE~0) 1) 4294967296))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {387#(<= 0 (div (+ (* (div main_~SIZE~0 4294967296) 4294967296) (* (- 1) main_~SIZE~0) 1) 4294967296))} is VALID [2022-04-27 10:16:58,332 INFO L290 TraceCheckUtils]: 11: Hoare triple {387#(<= 0 (div (+ (* (div main_~SIZE~0 4294967296) 4294967296) (* (- 1) main_~SIZE~0) 1) 4294967296))} ~k~0 := 1; {388#(and (= (+ (- 1) main_~k~0) 0) (<= (+ main_~SIZE~0 (* (div main_~k~0 4294967296) 4294967296)) (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1)))} is VALID [2022-04-27 10:16:58,333 INFO L290 TraceCheckUtils]: 12: Hoare triple {388#(and (= (+ (- 1) main_~k~0) 0) (<= (+ main_~SIZE~0 (* (div main_~k~0 4294967296) 4294967296)) (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1)))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {380#false} is VALID [2022-04-27 10:16:58,333 INFO L272 TraceCheckUtils]: 13: Hoare triple {380#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {380#false} is VALID [2022-04-27 10:16:58,333 INFO L290 TraceCheckUtils]: 14: Hoare triple {380#false} ~cond := #in~cond; {380#false} is VALID [2022-04-27 10:16:58,333 INFO L290 TraceCheckUtils]: 15: Hoare triple {380#false} assume 0 == ~cond; {380#false} is VALID [2022-04-27 10:16:58,334 INFO L290 TraceCheckUtils]: 16: Hoare triple {380#false} assume !false; {380#false} is VALID [2022-04-27 10:16:58,334 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:58,334 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:58,334 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [265157791] [2022-04-27 10:16:58,334 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [265157791] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:16:58,335 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1138878848] [2022-04-27 10:16:58,335 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:58,335 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:16:58,335 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:16:58,336 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-04-27 10:16:58,370 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-04-27 10:16:58,392 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,394 INFO L263 TraceCheckSpWp]: Trace formula consists of 88 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-27 10:16:58,403 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:58,405 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:16:58,955 INFO L272 TraceCheckUtils]: 0: Hoare triple {379#true} call ULTIMATE.init(); {379#true} is VALID [2022-04-27 10:16:58,955 INFO L290 TraceCheckUtils]: 1: Hoare triple {379#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {379#true} is VALID [2022-04-27 10:16:58,955 INFO L290 TraceCheckUtils]: 2: Hoare triple {379#true} assume true; {379#true} is VALID [2022-04-27 10:16:58,956 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {379#true} {379#true} #87#return; {379#true} is VALID [2022-04-27 10:16:58,956 INFO L272 TraceCheckUtils]: 4: Hoare triple {379#true} call #t~ret15 := main(); {379#true} is VALID [2022-04-27 10:16:58,956 INFO L290 TraceCheckUtils]: 5: Hoare triple {379#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {379#true} is VALID [2022-04-27 10:16:58,956 INFO L290 TraceCheckUtils]: 6: Hoare triple {379#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {379#true} is VALID [2022-04-27 10:16:58,956 INFO L290 TraceCheckUtils]: 7: Hoare triple {379#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {379#true} is VALID [2022-04-27 10:16:58,956 INFO L290 TraceCheckUtils]: 8: Hoare triple {379#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {379#true} is VALID [2022-04-27 10:16:58,957 INFO L290 TraceCheckUtils]: 9: Hoare triple {379#true} ~j~0 := 1; {420#(= main_~j~0 1)} is VALID [2022-04-27 10:16:58,957 INFO L290 TraceCheckUtils]: 10: Hoare triple {420#(= main_~j~0 1)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {387#(<= 0 (div (+ (* (div main_~SIZE~0 4294967296) 4294967296) (* (- 1) main_~SIZE~0) 1) 4294967296))} is VALID [2022-04-27 10:16:58,958 INFO L290 TraceCheckUtils]: 11: Hoare triple {387#(<= 0 (div (+ (* (div main_~SIZE~0 4294967296) 4294967296) (* (- 1) main_~SIZE~0) 1) 4294967296))} ~k~0 := 1; {388#(and (= (+ (- 1) main_~k~0) 0) (<= (+ main_~SIZE~0 (* (div main_~k~0 4294967296) 4294967296)) (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1)))} is VALID [2022-04-27 10:16:58,959 INFO L290 TraceCheckUtils]: 12: Hoare triple {388#(and (= (+ (- 1) main_~k~0) 0) (<= (+ main_~SIZE~0 (* (div main_~k~0 4294967296) 4294967296)) (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1)))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {380#false} is VALID [2022-04-27 10:16:58,959 INFO L272 TraceCheckUtils]: 13: Hoare triple {380#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {380#false} is VALID [2022-04-27 10:16:58,959 INFO L290 TraceCheckUtils]: 14: Hoare triple {380#false} ~cond := #in~cond; {380#false} is VALID [2022-04-27 10:16:58,959 INFO L290 TraceCheckUtils]: 15: Hoare triple {380#false} assume 0 == ~cond; {380#false} is VALID [2022-04-27 10:16:58,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {380#false} assume !false; {380#false} is VALID [2022-04-27 10:16:58,960 INFO L134 CoverageAnalysis]: Checked inductivity of 1 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:16:58,961 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-27 10:16:58,961 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1138878848] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:16:58,961 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-27 10:16:58,961 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [5] imperfect sequences [8] total 9 [2022-04-27 10:16:58,963 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [316524808] [2022-04-27 10:16:58,963 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:16:58,964 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-04-27 10:16:58,964 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:16:58,964 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:58,976 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 17 edges. 17 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:58,977 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 5 states [2022-04-27 10:16:58,977 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:16:58,977 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 5 interpolants. [2022-04-27 10:16:58,977 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=53, Unknown=0, NotChecked=0, Total=72 [2022-04-27 10:16:58,978 INFO L87 Difference]: Start difference. First operand 27 states and 31 transitions. Second operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:59,077 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:59,078 INFO L93 Difference]: Finished difference Result 45 states and 52 transitions. [2022-04-27 10:16:59,078 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-27 10:16:59,078 INFO L78 Accepts]: Start accepts. Automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 17 [2022-04-27 10:16:59,078 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:16:59,078 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:59,080 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 10:16:59,081 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:59,083 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 51 transitions. [2022-04-27 10:16:59,083 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 51 transitions. [2022-04-27 10:16:59,123 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 51 edges. 51 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:16:59,127 INFO L225 Difference]: With dead ends: 45 [2022-04-27 10:16:59,127 INFO L226 Difference]: Without dead ends: 33 [2022-04-27 10:16:59,128 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 27 GetRequests, 16 SyntacticMatches, 2 SemanticMatches, 9 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 19 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=29, Invalid=81, Unknown=0, NotChecked=0, Total=110 [2022-04-27 10:16:59,131 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 10 mSDsluCounter, 45 mSDsCounter, 0 mSdLazyCounter, 18 mSolverCounterSat, 0 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 10 SdHoareTripleChecker+Valid, 72 SdHoareTripleChecker+Invalid, 18 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 0 IncrementalHoareTripleChecker+Valid, 18 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:16:59,132 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [10 Valid, 72 Invalid, 18 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [0 Valid, 18 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 10:16:59,133 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 33 states. [2022-04-27 10:16:59,139 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 33 to 28. [2022-04-27 10:16:59,139 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:16:59,139 INFO L82 GeneralOperation]: Start isEquivalent. First operand 33 states. Second operand has 28 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:59,140 INFO L74 IsIncluded]: Start isIncluded. First operand 33 states. Second operand has 28 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:59,141 INFO L87 Difference]: Start difference. First operand 33 states. Second operand has 28 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:59,142 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:59,142 INFO L93 Difference]: Finished difference Result 33 states and 39 transitions. [2022-04-27 10:16:59,142 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 39 transitions. [2022-04-27 10:16:59,143 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:59,144 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:59,144 INFO L74 IsIncluded]: Start isIncluded. First operand has 28 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 33 states. [2022-04-27 10:16:59,144 INFO L87 Difference]: Start difference. First operand has 28 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 33 states. [2022-04-27 10:16:59,149 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:16:59,149 INFO L93 Difference]: Finished difference Result 33 states and 39 transitions. [2022-04-27 10:16:59,150 INFO L276 IsEmpty]: Start isEmpty. Operand 33 states and 39 transitions. [2022-04-27 10:16:59,150 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:16:59,150 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:16:59,150 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:16:59,150 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:16:59,150 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 28 states, 22 states have (on average 1.2272727272727273) internal successors, (27), 22 states have internal predecessors, (27), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:16:59,151 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 32 transitions. [2022-04-27 10:16:59,152 INFO L78 Accepts]: Start accepts. Automaton has 28 states and 32 transitions. Word has length 17 [2022-04-27 10:16:59,152 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:16:59,152 INFO L495 AbstractCegarLoop]: Abstraction has 28 states and 32 transitions. [2022-04-27 10:16:59,152 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 5 states, 5 states have (on average 2.6) internal successors, (13), 5 states have internal predecessors, (13), 2 states have call successors, (3), 2 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:16:59,152 INFO L276 IsEmpty]: Start isEmpty. Operand 28 states and 32 transitions. [2022-04-27 10:16:59,152 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 24 [2022-04-27 10:16:59,152 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:16:59,152 INFO L195 NwaCegarLoop]: trace histogram [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:16:59,172 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (2)] Forceful destruction successful, exit code 0 [2022-04-27 10:16:59,371 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:16:59,371 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:16:59,372 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:16:59,372 INFO L85 PathProgramCache]: Analyzing trace with hash -924605581, now seen corresponding path program 1 times [2022-04-27 10:16:59,372 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:16:59,372 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1946962890] [2022-04-27 10:16:59,372 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:59,372 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:16:59,416 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:59,482 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:16:59,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:59,486 INFO L290 TraceCheckUtils]: 0: Hoare triple {622#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {613#true} is VALID [2022-04-27 10:16:59,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} assume true; {613#true} is VALID [2022-04-27 10:16:59,487 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {613#true} {613#true} #87#return; {613#true} is VALID [2022-04-27 10:16:59,487 INFO L272 TraceCheckUtils]: 0: Hoare triple {613#true} call ULTIMATE.init(); {622#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:16:59,487 INFO L290 TraceCheckUtils]: 1: Hoare triple {622#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {613#true} is VALID [2022-04-27 10:16:59,487 INFO L290 TraceCheckUtils]: 2: Hoare triple {613#true} assume true; {613#true} is VALID [2022-04-27 10:16:59,487 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {613#true} {613#true} #87#return; {613#true} is VALID [2022-04-27 10:16:59,488 INFO L272 TraceCheckUtils]: 4: Hoare triple {613#true} call #t~ret15 := main(); {613#true} is VALID [2022-04-27 10:16:59,488 INFO L290 TraceCheckUtils]: 5: Hoare triple {613#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {618#(= main_~j~0 0)} is VALID [2022-04-27 10:16:59,488 INFO L290 TraceCheckUtils]: 6: Hoare triple {618#(= main_~j~0 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {618#(= main_~j~0 0)} is VALID [2022-04-27 10:16:59,489 INFO L290 TraceCheckUtils]: 7: Hoare triple {618#(= main_~j~0 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {619#(and (not (<= (+ (div main_~j~0 4294967296) 1) 0)) (<= main_~j~0 1))} is VALID [2022-04-27 10:16:59,489 INFO L290 TraceCheckUtils]: 8: Hoare triple {619#(and (not (<= (+ (div main_~j~0 4294967296) 1) 0)) (<= main_~j~0 1))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {620#(<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:16:59,490 INFO L290 TraceCheckUtils]: 9: Hoare triple {620#(<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1))} ~j~0 := 1; {621#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1)))} is VALID [2022-04-27 10:16:59,490 INFO L290 TraceCheckUtils]: 10: Hoare triple {621#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {614#false} is VALID [2022-04-27 10:16:59,490 INFO L290 TraceCheckUtils]: 11: Hoare triple {614#false} #t~short10 := ~i~0 >= 0; {614#false} is VALID [2022-04-27 10:16:59,490 INFO L290 TraceCheckUtils]: 12: Hoare triple {614#false} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {614#false} is VALID [2022-04-27 10:16:59,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {614#false} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {614#false} is VALID [2022-04-27 10:16:59,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {614#false} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {614#false} is VALID [2022-04-27 10:16:59,491 INFO L290 TraceCheckUtils]: 15: Hoare triple {614#false} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {614#false} is VALID [2022-04-27 10:16:59,491 INFO L290 TraceCheckUtils]: 16: Hoare triple {614#false} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {614#false} is VALID [2022-04-27 10:16:59,491 INFO L290 TraceCheckUtils]: 17: Hoare triple {614#false} ~k~0 := 1; {614#false} is VALID [2022-04-27 10:16:59,491 INFO L290 TraceCheckUtils]: 18: Hoare triple {614#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {614#false} is VALID [2022-04-27 10:16:59,491 INFO L272 TraceCheckUtils]: 19: Hoare triple {614#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {614#false} is VALID [2022-04-27 10:16:59,491 INFO L290 TraceCheckUtils]: 20: Hoare triple {614#false} ~cond := #in~cond; {614#false} is VALID [2022-04-27 10:16:59,491 INFO L290 TraceCheckUtils]: 21: Hoare triple {614#false} assume 0 == ~cond; {614#false} is VALID [2022-04-27 10:16:59,492 INFO L290 TraceCheckUtils]: 22: Hoare triple {614#false} assume !false; {614#false} is VALID [2022-04-27 10:16:59,492 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:59,492 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:16:59,492 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1946962890] [2022-04-27 10:16:59,492 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1946962890] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:16:59,492 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1768188728] [2022-04-27 10:16:59,492 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:16:59,492 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:16:59,492 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:16:59,509 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-04-27 10:16:59,517 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-04-27 10:16:59,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:59,567 INFO L263 TraceCheckSpWp]: Trace formula consists of 105 conjuncts, 8 conjunts are in the unsatisfiable core [2022-04-27 10:16:59,573 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:16:59,574 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:16:59,834 INFO L272 TraceCheckUtils]: 0: Hoare triple {613#true} call ULTIMATE.init(); {613#true} is VALID [2022-04-27 10:16:59,834 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {613#true} is VALID [2022-04-27 10:16:59,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {613#true} assume true; {613#true} is VALID [2022-04-27 10:16:59,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {613#true} {613#true} #87#return; {613#true} is VALID [2022-04-27 10:16:59,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {613#true} call #t~ret15 := main(); {613#true} is VALID [2022-04-27 10:16:59,835 INFO L290 TraceCheckUtils]: 5: Hoare triple {613#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {618#(= main_~j~0 0)} is VALID [2022-04-27 10:16:59,835 INFO L290 TraceCheckUtils]: 6: Hoare triple {618#(= main_~j~0 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {618#(= main_~j~0 0)} is VALID [2022-04-27 10:16:59,836 INFO L290 TraceCheckUtils]: 7: Hoare triple {618#(= main_~j~0 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {647#(= main_~j~0 1)} is VALID [2022-04-27 10:16:59,836 INFO L290 TraceCheckUtils]: 8: Hoare triple {647#(= main_~j~0 1)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {620#(<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:16:59,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {620#(<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1))} ~j~0 := 1; {621#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1)))} is VALID [2022-04-27 10:16:59,837 INFO L290 TraceCheckUtils]: 10: Hoare triple {621#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {614#false} is VALID [2022-04-27 10:16:59,837 INFO L290 TraceCheckUtils]: 11: Hoare triple {614#false} #t~short10 := ~i~0 >= 0; {614#false} is VALID [2022-04-27 10:16:59,837 INFO L290 TraceCheckUtils]: 12: Hoare triple {614#false} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {614#false} is VALID [2022-04-27 10:16:59,838 INFO L290 TraceCheckUtils]: 13: Hoare triple {614#false} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {614#false} is VALID [2022-04-27 10:16:59,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {614#false} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {614#false} is VALID [2022-04-27 10:16:59,838 INFO L290 TraceCheckUtils]: 15: Hoare triple {614#false} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {614#false} is VALID [2022-04-27 10:16:59,838 INFO L290 TraceCheckUtils]: 16: Hoare triple {614#false} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {614#false} is VALID [2022-04-27 10:16:59,838 INFO L290 TraceCheckUtils]: 17: Hoare triple {614#false} ~k~0 := 1; {614#false} is VALID [2022-04-27 10:16:59,838 INFO L290 TraceCheckUtils]: 18: Hoare triple {614#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {614#false} is VALID [2022-04-27 10:16:59,838 INFO L272 TraceCheckUtils]: 19: Hoare triple {614#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {614#false} is VALID [2022-04-27 10:16:59,838 INFO L290 TraceCheckUtils]: 20: Hoare triple {614#false} ~cond := #in~cond; {614#false} is VALID [2022-04-27 10:16:59,838 INFO L290 TraceCheckUtils]: 21: Hoare triple {614#false} assume 0 == ~cond; {614#false} is VALID [2022-04-27 10:16:59,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {614#false} assume !false; {614#false} is VALID [2022-04-27 10:16:59,839 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:16:59,839 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:00,166 INFO L290 TraceCheckUtils]: 22: Hoare triple {614#false} assume !false; {614#false} is VALID [2022-04-27 10:17:00,167 INFO L290 TraceCheckUtils]: 21: Hoare triple {614#false} assume 0 == ~cond; {614#false} is VALID [2022-04-27 10:17:00,167 INFO L290 TraceCheckUtils]: 20: Hoare triple {614#false} ~cond := #in~cond; {614#false} is VALID [2022-04-27 10:17:00,167 INFO L272 TraceCheckUtils]: 19: Hoare triple {614#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {614#false} is VALID [2022-04-27 10:17:00,167 INFO L290 TraceCheckUtils]: 18: Hoare triple {614#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {614#false} is VALID [2022-04-27 10:17:00,167 INFO L290 TraceCheckUtils]: 17: Hoare triple {614#false} ~k~0 := 1; {614#false} is VALID [2022-04-27 10:17:00,167 INFO L290 TraceCheckUtils]: 16: Hoare triple {614#false} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {614#false} is VALID [2022-04-27 10:17:00,167 INFO L290 TraceCheckUtils]: 15: Hoare triple {614#false} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {614#false} is VALID [2022-04-27 10:17:00,167 INFO L290 TraceCheckUtils]: 14: Hoare triple {614#false} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {614#false} is VALID [2022-04-27 10:17:00,168 INFO L290 TraceCheckUtils]: 13: Hoare triple {614#false} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {614#false} is VALID [2022-04-27 10:17:00,168 INFO L290 TraceCheckUtils]: 12: Hoare triple {614#false} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {614#false} is VALID [2022-04-27 10:17:00,168 INFO L290 TraceCheckUtils]: 11: Hoare triple {614#false} #t~short10 := ~i~0 >= 0; {614#false} is VALID [2022-04-27 10:17:00,168 INFO L290 TraceCheckUtils]: 10: Hoare triple {729#(not (< (mod main_~j~0 4294967296) (mod main_~SIZE~0 4294967296)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {614#false} is VALID [2022-04-27 10:17:00,169 INFO L290 TraceCheckUtils]: 9: Hoare triple {620#(<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1))} ~j~0 := 1; {729#(not (< (mod main_~j~0 4294967296) (mod main_~SIZE~0 4294967296)))} is VALID [2022-04-27 10:17:00,169 INFO L290 TraceCheckUtils]: 8: Hoare triple {736#(<= 0 (div (+ (* (- 1) (mod main_~j~0 4294967296)) 1) 4294967296))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {620#(<= main_~SIZE~0 (+ (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:17:00,172 INFO L290 TraceCheckUtils]: 7: Hoare triple {740#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 1) 4294967296))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {736#(<= 0 (div (+ (* (- 1) (mod main_~j~0 4294967296)) 1) 4294967296))} is VALID [2022-04-27 10:17:00,172 INFO L290 TraceCheckUtils]: 6: Hoare triple {740#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 1) 4294967296))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {740#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 1) 4294967296))} is VALID [2022-04-27 10:17:00,173 INFO L290 TraceCheckUtils]: 5: Hoare triple {613#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {740#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 1) 4294967296))} is VALID [2022-04-27 10:17:00,173 INFO L272 TraceCheckUtils]: 4: Hoare triple {613#true} call #t~ret15 := main(); {613#true} is VALID [2022-04-27 10:17:00,173 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {613#true} {613#true} #87#return; {613#true} is VALID [2022-04-27 10:17:00,173 INFO L290 TraceCheckUtils]: 2: Hoare triple {613#true} assume true; {613#true} is VALID [2022-04-27 10:17:00,173 INFO L290 TraceCheckUtils]: 1: Hoare triple {613#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {613#true} is VALID [2022-04-27 10:17:00,173 INFO L272 TraceCheckUtils]: 0: Hoare triple {613#true} call ULTIMATE.init(); {613#true} is VALID [2022-04-27 10:17:00,173 INFO L134 CoverageAnalysis]: Checked inductivity of 2 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:00,174 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1768188728] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:00,174 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:00,174 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 6, 6] total 11 [2022-04-27 10:17:00,174 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [569802330] [2022-04-27 10:17:00,174 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:00,174 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 23 [2022-04-27 10:17:00,175 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:00,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:00,198 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 33 edges. 33 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:00,198 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-27 10:17:00,198 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:00,198 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-27 10:17:00,198 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=30, Invalid=80, Unknown=0, NotChecked=0, Total=110 [2022-04-27 10:17:00,199 INFO L87 Difference]: Start difference. First operand 28 states and 32 transitions. Second operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:00,459 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:00,459 INFO L93 Difference]: Finished difference Result 55 states and 65 transitions. [2022-04-27 10:17:00,459 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 7 states. [2022-04-27 10:17:00,460 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 23 [2022-04-27 10:17:00,460 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:00,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:00,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-27 10:17:00,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:00,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 7 states to 7 states and 65 transitions. [2022-04-27 10:17:00,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 7 states and 65 transitions. [2022-04-27 10:17:00,529 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:00,530 INFO L225 Difference]: With dead ends: 55 [2022-04-27 10:17:00,530 INFO L226 Difference]: Without dead ends: 36 [2022-04-27 10:17:00,531 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 58 GetRequests, 42 SyntacticMatches, 3 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 37 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=58, Invalid=152, Unknown=0, NotChecked=0, Total=210 [2022-04-27 10:17:00,531 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 59 mSDsluCounter, 22 mSDsCounter, 0 mSdLazyCounter, 107 mSolverCounterSat, 17 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 59 SdHoareTripleChecker+Valid, 45 SdHoareTripleChecker+Invalid, 124 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 17 IncrementalHoareTripleChecker+Valid, 107 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:00,531 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [59 Valid, 45 Invalid, 124 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [17 Valid, 107 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-27 10:17:00,532 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 36 states. [2022-04-27 10:17:00,535 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 36 to 30. [2022-04-27 10:17:00,535 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:00,535 INFO L82 GeneralOperation]: Start isEquivalent. First operand 36 states. Second operand has 30 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:17:00,535 INFO L74 IsIncluded]: Start isIncluded. First operand 36 states. Second operand has 30 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:17:00,535 INFO L87 Difference]: Start difference. First operand 36 states. Second operand has 30 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:17:00,536 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:00,536 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-27 10:17:00,536 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-27 10:17:00,537 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:00,537 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:00,537 INFO L74 IsIncluded]: Start isIncluded. First operand has 30 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 36 states. [2022-04-27 10:17:00,537 INFO L87 Difference]: Start difference. First operand has 30 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) Second operand 36 states. [2022-04-27 10:17:00,538 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:00,538 INFO L93 Difference]: Finished difference Result 36 states and 42 transitions. [2022-04-27 10:17:00,538 INFO L276 IsEmpty]: Start isEmpty. Operand 36 states and 42 transitions. [2022-04-27 10:17:00,538 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:00,538 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:00,538 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:00,538 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:00,539 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 24 states have (on average 1.2083333333333333) internal successors, (29), 24 states have internal predecessors, (29), 3 states have call successors, (3), 3 states have call predecessors, (3), 2 states have return successors, (2), 2 states have call predecessors, (2), 2 states have call successors, (2) [2022-04-27 10:17:00,539 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 30 states to 30 states and 34 transitions. [2022-04-27 10:17:00,539 INFO L78 Accepts]: Start accepts. Automaton has 30 states and 34 transitions. Word has length 23 [2022-04-27 10:17:00,539 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:00,540 INFO L495 AbstractCegarLoop]: Abstraction has 30 states and 34 transitions. [2022-04-27 10:17:00,540 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 10 states have internal predecessors, (28), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:00,540 INFO L276 IsEmpty]: Start isEmpty. Operand 30 states and 34 transitions. [2022-04-27 10:17:00,540 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-27 10:17:00,540 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:00,540 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:00,556 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (3)] Ended with exit code 0 [2022-04-27 10:17:00,756 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 3 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable3 [2022-04-27 10:17:00,757 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:00,757 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:00,757 INFO L85 PathProgramCache]: Analyzing trace with hash 1080556849, now seen corresponding path program 2 times [2022-04-27 10:17:00,757 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:00,757 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1807310220] [2022-04-27 10:17:00,757 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:00,757 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:00,811 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:01,226 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:01,228 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:01,230 INFO L290 TraceCheckUtils]: 0: Hoare triple {980#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {962#true} is VALID [2022-04-27 10:17:01,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {962#true} assume true; {962#true} is VALID [2022-04-27 10:17:01,231 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {962#true} {962#true} #87#return; {962#true} is VALID [2022-04-27 10:17:01,231 INFO L272 TraceCheckUtils]: 0: Hoare triple {962#true} call ULTIMATE.init(); {980#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:01,231 INFO L290 TraceCheckUtils]: 1: Hoare triple {980#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {962#true} is VALID [2022-04-27 10:17:01,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {962#true} assume true; {962#true} is VALID [2022-04-27 10:17:01,232 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {962#true} {962#true} #87#return; {962#true} is VALID [2022-04-27 10:17:01,232 INFO L272 TraceCheckUtils]: 4: Hoare triple {962#true} call #t~ret15 := main(); {962#true} is VALID [2022-04-27 10:17:01,232 INFO L290 TraceCheckUtils]: 5: Hoare triple {962#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {967#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:17:01,233 INFO L290 TraceCheckUtils]: 6: Hoare triple {967#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {967#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:17:01,233 INFO L290 TraceCheckUtils]: 7: Hoare triple {967#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {968#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:01,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {968#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {968#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:01,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {968#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {969#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:01,234 INFO L290 TraceCheckUtils]: 10: Hoare triple {969#(= |main_~#v~0.offset| 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {969#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:01,235 INFO L290 TraceCheckUtils]: 11: Hoare triple {969#(= |main_~#v~0.offset| 0)} ~j~0 := 1; {968#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:01,235 INFO L290 TraceCheckUtils]: 12: Hoare triple {968#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {970#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ main_~i~0 1) main_~j~0))} is VALID [2022-04-27 10:17:01,236 INFO L290 TraceCheckUtils]: 13: Hoare triple {970#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ main_~i~0 1) main_~j~0))} #t~short10 := ~i~0 >= 0; {971#(and (= (+ (- 1) main_~j~0) 0) (or (not |main_#t~short10|) (and (= |main_~#v~0.offset| 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))))} is VALID [2022-04-27 10:17:01,237 INFO L290 TraceCheckUtils]: 14: Hoare triple {971#(and (= (+ (- 1) main_~j~0) 0) (or (not |main_#t~short10|) (and (= |main_~#v~0.offset| 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {972#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} is VALID [2022-04-27 10:17:01,237 INFO L290 TraceCheckUtils]: 15: Hoare triple {972#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {973#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))} is VALID [2022-04-27 10:17:01,238 INFO L290 TraceCheckUtils]: 16: Hoare triple {973#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {974#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:01,238 INFO L290 TraceCheckUtils]: 17: Hoare triple {974#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:01,239 INFO L290 TraceCheckUtils]: 18: Hoare triple {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:01,239 INFO L290 TraceCheckUtils]: 19: Hoare triple {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} ~k~0 := 1; {976#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} is VALID [2022-04-27 10:17:01,240 INFO L290 TraceCheckUtils]: 20: Hoare triple {976#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {977#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:17:01,241 INFO L272 TraceCheckUtils]: 21: Hoare triple {977#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {978#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:17:01,241 INFO L290 TraceCheckUtils]: 22: Hoare triple {978#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {979#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:17:01,241 INFO L290 TraceCheckUtils]: 23: Hoare triple {979#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {963#false} is VALID [2022-04-27 10:17:01,241 INFO L290 TraceCheckUtils]: 24: Hoare triple {963#false} assume !false; {963#false} is VALID [2022-04-27 10:17:01,242 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:01,242 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:01,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1807310220] [2022-04-27 10:17:01,242 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1807310220] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:01,242 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1926643114] [2022-04-27 10:17:01,242 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-27 10:17:01,242 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:01,242 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:01,252 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-04-27 10:17:01,253 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-04-27 10:17:01,307 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-27 10:17:01,307 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:01,308 INFO L263 TraceCheckSpWp]: Trace formula consists of 114 conjuncts, 19 conjunts are in the unsatisfiable core [2022-04-27 10:17:01,318 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:01,320 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:01,681 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:01,683 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 28 treesize of output 27 [2022-04-27 10:17:01,791 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:01,792 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 26 treesize of output 10 [2022-04-27 10:17:01,869 INFO L272 TraceCheckUtils]: 0: Hoare triple {962#true} call ULTIMATE.init(); {962#true} is VALID [2022-04-27 10:17:01,869 INFO L290 TraceCheckUtils]: 1: Hoare triple {962#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {962#true} is VALID [2022-04-27 10:17:01,869 INFO L290 TraceCheckUtils]: 2: Hoare triple {962#true} assume true; {962#true} is VALID [2022-04-27 10:17:01,869 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {962#true} {962#true} #87#return; {962#true} is VALID [2022-04-27 10:17:01,869 INFO L272 TraceCheckUtils]: 4: Hoare triple {962#true} call #t~ret15 := main(); {962#true} is VALID [2022-04-27 10:17:01,870 INFO L290 TraceCheckUtils]: 5: Hoare triple {962#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {969#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:01,870 INFO L290 TraceCheckUtils]: 6: Hoare triple {969#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {969#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:01,870 INFO L290 TraceCheckUtils]: 7: Hoare triple {969#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {969#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:01,871 INFO L290 TraceCheckUtils]: 8: Hoare triple {969#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {969#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:01,871 INFO L290 TraceCheckUtils]: 9: Hoare triple {969#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {969#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:01,871 INFO L290 TraceCheckUtils]: 10: Hoare triple {969#(= |main_~#v~0.offset| 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {969#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:01,872 INFO L290 TraceCheckUtils]: 11: Hoare triple {969#(= |main_~#v~0.offset| 0)} ~j~0 := 1; {1017#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:01,872 INFO L290 TraceCheckUtils]: 12: Hoare triple {1017#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {1021#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0))} is VALID [2022-04-27 10:17:01,873 INFO L290 TraceCheckUtils]: 13: Hoare triple {1021#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0))} #t~short10 := ~i~0 >= 0; {1025#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} is VALID [2022-04-27 10:17:01,874 INFO L290 TraceCheckUtils]: 14: Hoare triple {1025#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {1029#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= 0 main_~i~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} is VALID [2022-04-27 10:17:01,893 INFO L290 TraceCheckUtils]: 15: Hoare triple {1029#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= 0 main_~i~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {1033#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0))} is VALID [2022-04-27 10:17:01,894 INFO L290 TraceCheckUtils]: 16: Hoare triple {1033#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:01,894 INFO L290 TraceCheckUtils]: 17: Hoare triple {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:01,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:01,895 INFO L290 TraceCheckUtils]: 19: Hoare triple {975#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} ~k~0 := 1; {976#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} is VALID [2022-04-27 10:17:01,896 INFO L290 TraceCheckUtils]: 20: Hoare triple {976#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {977#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:17:01,896 INFO L272 TraceCheckUtils]: 21: Hoare triple {977#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {1052#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:01,897 INFO L290 TraceCheckUtils]: 22: Hoare triple {1052#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1056#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:01,897 INFO L290 TraceCheckUtils]: 23: Hoare triple {1056#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {963#false} is VALID [2022-04-27 10:17:01,897 INFO L290 TraceCheckUtils]: 24: Hoare triple {963#false} assume !false; {963#false} is VALID [2022-04-27 10:17:01,898 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:17:01,898 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:02,251 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 41 treesize of output 35 [2022-04-27 10:17:02,280 INFO L356 Elim1Store]: treesize reduction 21, result has 43.2 percent of original size [2022-04-27 10:17:02,280 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 93 treesize of output 90 [2022-04-27 10:17:02,476 INFO L290 TraceCheckUtils]: 24: Hoare triple {963#false} assume !false; {963#false} is VALID [2022-04-27 10:17:02,476 INFO L290 TraceCheckUtils]: 23: Hoare triple {1056#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {963#false} is VALID [2022-04-27 10:17:02,476 INFO L290 TraceCheckUtils]: 22: Hoare triple {1052#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1056#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:02,477 INFO L272 TraceCheckUtils]: 21: Hoare triple {977#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {1052#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:02,478 INFO L290 TraceCheckUtils]: 20: Hoare triple {1075#(<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {977#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:17:02,478 INFO L290 TraceCheckUtils]: 19: Hoare triple {1079#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} ~k~0 := 1; {1075#(<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4))))} is VALID [2022-04-27 10:17:02,478 INFO L290 TraceCheckUtils]: 18: Hoare triple {1079#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1079#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:02,479 INFO L290 TraceCheckUtils]: 17: Hoare triple {1079#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {1079#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:02,479 INFO L290 TraceCheckUtils]: 16: Hoare triple {1089#(forall ((v_ArrVal_41 Int)) (or (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_41) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_41) (+ |main_~#v~0.offset| 4))) (not (<= main_~key~0 v_ArrVal_41))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {1079#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:02,480 INFO L290 TraceCheckUtils]: 15: Hoare triple {1093#(or (forall ((v_ArrVal_41 Int)) (or (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_41) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_41) (+ |main_~#v~0.offset| 4))) (not (<= main_~key~0 v_ArrVal_41)))) |main_#t~short10|)} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {1089#(forall ((v_ArrVal_41 Int)) (or (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_41) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_41) (+ |main_~#v~0.offset| 4))) (not (<= main_~key~0 v_ArrVal_41))))} is VALID [2022-04-27 10:17:02,481 INFO L290 TraceCheckUtils]: 14: Hoare triple {1097#(or (not |main_#t~short10|) (= 0 (* main_~i~0 4)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {1093#(or (forall ((v_ArrVal_41 Int)) (or (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_41) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_41) (+ |main_~#v~0.offset| 4))) (not (<= main_~key~0 v_ArrVal_41)))) |main_#t~short10|)} is VALID [2022-04-27 10:17:02,481 INFO L290 TraceCheckUtils]: 13: Hoare triple {1101#(or (not (<= 0 main_~i~0)) (= 0 (* main_~i~0 4)))} #t~short10 := ~i~0 >= 0; {1097#(or (not |main_#t~short10|) (= 0 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:02,482 INFO L290 TraceCheckUtils]: 12: Hoare triple {1105#(<= main_~j~0 1)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {1101#(or (not (<= 0 main_~i~0)) (= 0 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:02,482 INFO L290 TraceCheckUtils]: 11: Hoare triple {962#true} ~j~0 := 1; {1105#(<= main_~j~0 1)} is VALID [2022-04-27 10:17:02,482 INFO L290 TraceCheckUtils]: 10: Hoare triple {962#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {962#true} is VALID [2022-04-27 10:17:02,483 INFO L290 TraceCheckUtils]: 9: Hoare triple {962#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {962#true} is VALID [2022-04-27 10:17:02,483 INFO L290 TraceCheckUtils]: 8: Hoare triple {962#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {962#true} is VALID [2022-04-27 10:17:02,483 INFO L290 TraceCheckUtils]: 7: Hoare triple {962#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {962#true} is VALID [2022-04-27 10:17:02,483 INFO L290 TraceCheckUtils]: 6: Hoare triple {962#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {962#true} is VALID [2022-04-27 10:17:02,483 INFO L290 TraceCheckUtils]: 5: Hoare triple {962#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {962#true} is VALID [2022-04-27 10:17:02,483 INFO L272 TraceCheckUtils]: 4: Hoare triple {962#true} call #t~ret15 := main(); {962#true} is VALID [2022-04-27 10:17:02,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {962#true} {962#true} #87#return; {962#true} is VALID [2022-04-27 10:17:02,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {962#true} assume true; {962#true} is VALID [2022-04-27 10:17:02,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {962#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {962#true} is VALID [2022-04-27 10:17:02,483 INFO L272 TraceCheckUtils]: 0: Hoare triple {962#true} call ULTIMATE.init(); {962#true} is VALID [2022-04-27 10:17:02,483 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 0 proven. 1 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:17:02,484 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1926643114] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:02,484 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:02,484 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 13, 12] total 30 [2022-04-27 10:17:02,484 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [177159944] [2022-04-27 10:17:02,484 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:02,484 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 29 states have (on average 1.6551724137931034) internal successors, (48), 27 states have internal predecessors, (48), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-27 10:17:02,485 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:02,485 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 30 states, 29 states have (on average 1.6551724137931034) internal successors, (48), 27 states have internal predecessors, (48), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:02,526 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 54 edges. 54 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:02,526 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 30 states [2022-04-27 10:17:02,527 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:02,527 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 30 interpolants. [2022-04-27 10:17:02,527 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=131, Invalid=739, Unknown=0, NotChecked=0, Total=870 [2022-04-27 10:17:02,528 INFO L87 Difference]: Start difference. First operand 30 states and 34 transitions. Second operand has 30 states, 29 states have (on average 1.6551724137931034) internal successors, (48), 27 states have internal predecessors, (48), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,126 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:04,127 INFO L93 Difference]: Finished difference Result 81 states and 102 transitions. [2022-04-27 10:17:04,127 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 28 states. [2022-04-27 10:17:04,127 INFO L78 Accepts]: Start accepts. Automaton has has 30 states, 29 states have (on average 1.6551724137931034) internal successors, (48), 27 states have internal predecessors, (48), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-27 10:17:04,127 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:04,127 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.6551724137931034) internal successors, (48), 27 states have internal predecessors, (48), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,133 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 102 transitions. [2022-04-27 10:17:04,133 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 30 states, 29 states have (on average 1.6551724137931034) internal successors, (48), 27 states have internal predecessors, (48), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,136 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 28 states to 28 states and 102 transitions. [2022-04-27 10:17:04,136 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 28 states and 102 transitions. [2022-04-27 10:17:04,224 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 102 edges. 102 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:04,226 INFO L225 Difference]: With dead ends: 81 [2022-04-27 10:17:04,226 INFO L226 Difference]: Without dead ends: 79 [2022-04-27 10:17:04,227 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 98 GetRequests, 41 SyntacticMatches, 4 SemanticMatches, 53 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 781 ImplicationChecksByTransitivity, 0.9s TimeCoverageRelationStatistics Valid=519, Invalid=2451, Unknown=0, NotChecked=0, Total=2970 [2022-04-27 10:17:04,227 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 146 mSDsluCounter, 58 mSDsCounter, 0 mSdLazyCounter, 470 mSolverCounterSat, 112 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 146 SdHoareTripleChecker+Valid, 73 SdHoareTripleChecker+Invalid, 644 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 112 IncrementalHoareTripleChecker+Valid, 470 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 62 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:04,228 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [146 Valid, 73 Invalid, 644 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [112 Valid, 470 Invalid, 0 Unknown, 62 Unchecked, 0.5s Time] [2022-04-27 10:17:04,228 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 79 states. [2022-04-27 10:17:04,248 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 79 to 44. [2022-04-27 10:17:04,248 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:04,249 INFO L82 GeneralOperation]: Start isEquivalent. First operand 79 states. Second operand has 44 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:04,249 INFO L74 IsIncluded]: Start isIncluded. First operand 79 states. Second operand has 44 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:04,249 INFO L87 Difference]: Start difference. First operand 79 states. Second operand has 44 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:04,251 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:04,252 INFO L93 Difference]: Finished difference Result 79 states and 100 transitions. [2022-04-27 10:17:04,252 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 100 transitions. [2022-04-27 10:17:04,252 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:04,252 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:04,252 INFO L74 IsIncluded]: Start isIncluded. First operand has 44 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 79 states. [2022-04-27 10:17:04,252 INFO L87 Difference]: Start difference. First operand has 44 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 79 states. [2022-04-27 10:17:04,254 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:04,254 INFO L93 Difference]: Finished difference Result 79 states and 100 transitions. [2022-04-27 10:17:04,255 INFO L276 IsEmpty]: Start isEmpty. Operand 79 states and 100 transitions. [2022-04-27 10:17:04,255 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:04,255 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:04,255 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:04,255 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:04,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 44 states, 36 states have (on average 1.25) internal successors, (45), 37 states have internal predecessors, (45), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:04,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 52 transitions. [2022-04-27 10:17:04,256 INFO L78 Accepts]: Start accepts. Automaton has 44 states and 52 transitions. Word has length 25 [2022-04-27 10:17:04,257 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:04,257 INFO L495 AbstractCegarLoop]: Abstraction has 44 states and 52 transitions. [2022-04-27 10:17:04,257 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 30 states, 29 states have (on average 1.6551724137931034) internal successors, (48), 27 states have internal predecessors, (48), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,257 INFO L276 IsEmpty]: Start isEmpty. Operand 44 states and 52 transitions. [2022-04-27 10:17:04,257 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 26 [2022-04-27 10:17:04,257 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:04,257 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:04,275 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-04-27 10:17:04,473 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable4,4 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:04,474 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:04,474 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:04,474 INFO L85 PathProgramCache]: Analyzing trace with hash 1781621427, now seen corresponding path program 1 times [2022-04-27 10:17:04,474 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:04,474 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [52350175] [2022-04-27 10:17:04,474 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:04,474 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:04,518 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:04,563 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:04,564 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:04,566 INFO L290 TraceCheckUtils]: 0: Hoare triple {1533#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {1525#true} is VALID [2022-04-27 10:17:04,566 INFO L290 TraceCheckUtils]: 1: Hoare triple {1525#true} assume true; {1525#true} is VALID [2022-04-27 10:17:04,566 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1525#true} {1525#true} #87#return; {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L272 TraceCheckUtils]: 0: Hoare triple {1525#true} call ULTIMATE.init(); {1533#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:04,567 INFO L290 TraceCheckUtils]: 1: Hoare triple {1533#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L290 TraceCheckUtils]: 2: Hoare triple {1525#true} assume true; {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1525#true} {1525#true} #87#return; {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L272 TraceCheckUtils]: 4: Hoare triple {1525#true} call #t~ret15 := main(); {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L290 TraceCheckUtils]: 5: Hoare triple {1525#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L290 TraceCheckUtils]: 6: Hoare triple {1525#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L290 TraceCheckUtils]: 7: Hoare triple {1525#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L290 TraceCheckUtils]: 8: Hoare triple {1525#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L290 TraceCheckUtils]: 9: Hoare triple {1525#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1525#true} is VALID [2022-04-27 10:17:04,567 INFO L290 TraceCheckUtils]: 10: Hoare triple {1525#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1525#true} is VALID [2022-04-27 10:17:04,568 INFO L290 TraceCheckUtils]: 11: Hoare triple {1525#true} ~j~0 := 1; {1530#(= (+ (- 1) main_~j~0) 0)} is VALID [2022-04-27 10:17:04,568 INFO L290 TraceCheckUtils]: 12: Hoare triple {1530#(= (+ (- 1) main_~j~0) 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {1531#(and (<= main_~j~0 (+ main_~i~0 1)) (= (+ (- 1) main_~j~0) 0))} is VALID [2022-04-27 10:17:04,569 INFO L290 TraceCheckUtils]: 13: Hoare triple {1531#(and (<= main_~j~0 (+ main_~i~0 1)) (= (+ (- 1) main_~j~0) 0))} #t~short10 := ~i~0 >= 0; {1532#(and (= (+ (- 1) main_~j~0) 0) |main_#t~short10|)} is VALID [2022-04-27 10:17:04,569 INFO L290 TraceCheckUtils]: 14: Hoare triple {1532#(and (= (+ (- 1) main_~j~0) 0) |main_#t~short10|)} assume !#t~short10; {1526#false} is VALID [2022-04-27 10:17:04,569 INFO L290 TraceCheckUtils]: 15: Hoare triple {1526#false} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {1526#false} is VALID [2022-04-27 10:17:04,569 INFO L290 TraceCheckUtils]: 16: Hoare triple {1526#false} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {1526#false} is VALID [2022-04-27 10:17:04,569 INFO L290 TraceCheckUtils]: 17: Hoare triple {1526#false} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {1526#false} is VALID [2022-04-27 10:17:04,569 INFO L290 TraceCheckUtils]: 18: Hoare triple {1526#false} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1526#false} is VALID [2022-04-27 10:17:04,569 INFO L290 TraceCheckUtils]: 19: Hoare triple {1526#false} ~k~0 := 1; {1526#false} is VALID [2022-04-27 10:17:04,569 INFO L290 TraceCheckUtils]: 20: Hoare triple {1526#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {1526#false} is VALID [2022-04-27 10:17:04,569 INFO L272 TraceCheckUtils]: 21: Hoare triple {1526#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {1526#false} is VALID [2022-04-27 10:17:04,570 INFO L290 TraceCheckUtils]: 22: Hoare triple {1526#false} ~cond := #in~cond; {1526#false} is VALID [2022-04-27 10:17:04,570 INFO L290 TraceCheckUtils]: 23: Hoare triple {1526#false} assume 0 == ~cond; {1526#false} is VALID [2022-04-27 10:17:04,570 INFO L290 TraceCheckUtils]: 24: Hoare triple {1526#false} assume !false; {1526#false} is VALID [2022-04-27 10:17:04,570 INFO L134 CoverageAnalysis]: Checked inductivity of 5 backedges. 1 proven. 0 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:17:04,570 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:04,570 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [52350175] [2022-04-27 10:17:04,570 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [52350175] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:17:04,570 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:17:04,570 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [6] imperfect sequences [] total 6 [2022-04-27 10:17:04,570 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [963764010] [2022-04-27 10:17:04,570 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:17:04,571 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-27 10:17:04,571 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:04,571 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,583 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 23 edges. 23 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:04,584 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 6 states [2022-04-27 10:17:04,584 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:04,584 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 6 interpolants. [2022-04-27 10:17:04,584 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=11, Invalid=19, Unknown=0, NotChecked=0, Total=30 [2022-04-27 10:17:04,584 INFO L87 Difference]: Start difference. First operand 44 states and 52 transitions. Second operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,721 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:04,721 INFO L93 Difference]: Finished difference Result 88 states and 108 transitions. [2022-04-27 10:17:04,721 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 6 states. [2022-04-27 10:17:04,721 INFO L78 Accepts]: Start accepts. Automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 25 [2022-04-27 10:17:04,721 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:04,721 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,722 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 10:17:04,722 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,724 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 6 states to 6 states and 65 transitions. [2022-04-27 10:17:04,724 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 6 states and 65 transitions. [2022-04-27 10:17:04,768 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 65 edges. 65 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:04,768 INFO L225 Difference]: With dead ends: 88 [2022-04-27 10:17:04,768 INFO L226 Difference]: Without dead ends: 57 [2022-04-27 10:17:04,769 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 11 GetRequests, 4 SyntacticMatches, 0 SemanticMatches, 7 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 2 ImplicationChecksByTransitivity, 0.0s TimeCoverageRelationStatistics Valid=29, Invalid=43, Unknown=0, NotChecked=0, Total=72 [2022-04-27 10:17:04,769 INFO L413 NwaCegarLoop]: 23 mSDtfsCounter, 46 mSDsluCounter, 7 mSDsCounter, 0 mSdLazyCounter, 47 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 47 SdHoareTripleChecker+Valid, 30 SdHoareTripleChecker+Invalid, 56 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 47 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:04,769 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [47 Valid, 30 Invalid, 56 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 47 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 10:17:04,770 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 57 states. [2022-04-27 10:17:04,791 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 57 to 46. [2022-04-27 10:17:04,791 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:04,791 INFO L82 GeneralOperation]: Start isEquivalent. First operand 57 states. Second operand has 46 states, 38 states have (on average 1.236842105263158) internal successors, (47), 39 states have internal predecessors, (47), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:04,791 INFO L74 IsIncluded]: Start isIncluded. First operand 57 states. Second operand has 46 states, 38 states have (on average 1.236842105263158) internal successors, (47), 39 states have internal predecessors, (47), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:04,792 INFO L87 Difference]: Start difference. First operand 57 states. Second operand has 46 states, 38 states have (on average 1.236842105263158) internal successors, (47), 39 states have internal predecessors, (47), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:04,793 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:04,793 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2022-04-27 10:17:04,793 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-27 10:17:04,793 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:04,794 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:04,794 INFO L74 IsIncluded]: Start isIncluded. First operand has 46 states, 38 states have (on average 1.236842105263158) internal successors, (47), 39 states have internal predecessors, (47), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 57 states. [2022-04-27 10:17:04,794 INFO L87 Difference]: Start difference. First operand has 46 states, 38 states have (on average 1.236842105263158) internal successors, (47), 39 states have internal predecessors, (47), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 57 states. [2022-04-27 10:17:04,795 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:04,795 INFO L93 Difference]: Finished difference Result 57 states and 69 transitions. [2022-04-27 10:17:04,795 INFO L276 IsEmpty]: Start isEmpty. Operand 57 states and 69 transitions. [2022-04-27 10:17:04,796 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:04,796 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:04,796 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:04,796 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:04,796 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 46 states, 38 states have (on average 1.236842105263158) internal successors, (47), 39 states have internal predecessors, (47), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:04,797 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 54 transitions. [2022-04-27 10:17:04,797 INFO L78 Accepts]: Start accepts. Automaton has 46 states and 54 transitions. Word has length 25 [2022-04-27 10:17:04,797 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:04,797 INFO L495 AbstractCegarLoop]: Abstraction has 46 states and 54 transitions. [2022-04-27 10:17:04,797 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 6 states, 6 states have (on average 3.1666666666666665) internal successors, (19), 5 states have internal predecessors, (19), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:04,797 INFO L276 IsEmpty]: Start isEmpty. Operand 46 states and 54 transitions. [2022-04-27 10:17:04,798 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 29 [2022-04-27 10:17:04,798 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:04,798 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:04,798 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5 [2022-04-27 10:17:04,798 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:04,798 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:04,798 INFO L85 PathProgramCache]: Analyzing trace with hash 1755898038, now seen corresponding path program 1 times [2022-04-27 10:17:04,798 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:04,798 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2116221154] [2022-04-27 10:17:04,799 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:04,799 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:04,819 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:05,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:05,207 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:05,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {1858#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {1839#true} is VALID [2022-04-27 10:17:05,211 INFO L290 TraceCheckUtils]: 1: Hoare triple {1839#true} assume true; {1839#true} is VALID [2022-04-27 10:17:05,212 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1839#true} {1839#true} #87#return; {1839#true} is VALID [2022-04-27 10:17:05,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {1839#true} call ULTIMATE.init(); {1858#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:05,212 INFO L290 TraceCheckUtils]: 1: Hoare triple {1858#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {1839#true} is VALID [2022-04-27 10:17:05,212 INFO L290 TraceCheckUtils]: 2: Hoare triple {1839#true} assume true; {1839#true} is VALID [2022-04-27 10:17:05,212 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1839#true} {1839#true} #87#return; {1839#true} is VALID [2022-04-27 10:17:05,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {1839#true} call #t~ret15 := main(); {1839#true} is VALID [2022-04-27 10:17:05,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {1839#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {1844#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:17:05,214 INFO L290 TraceCheckUtils]: 6: Hoare triple {1844#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {1844#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:17:05,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {1844#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1845#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:05,215 INFO L290 TraceCheckUtils]: 8: Hoare triple {1845#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {1845#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:05,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {1845#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1846#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:05,216 INFO L290 TraceCheckUtils]: 10: Hoare triple {1846#(= |main_~#v~0.offset| 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1846#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:05,216 INFO L290 TraceCheckUtils]: 11: Hoare triple {1846#(= |main_~#v~0.offset| 0)} ~j~0 := 1; {1845#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:05,217 INFO L290 TraceCheckUtils]: 12: Hoare triple {1845#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {1847#(and (= |main_~#v~0.offset| 0) (or (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4)) (and (<= (+ main_~i~0 1) 0) (= (+ (- 1) main_~j~0) 0))))} is VALID [2022-04-27 10:17:05,218 INFO L290 TraceCheckUtils]: 13: Hoare triple {1847#(and (= |main_~#v~0.offset| 0) (or (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4)) (and (<= (+ main_~i~0 1) 0) (= (+ (- 1) main_~j~0) 0))))} #t~short10 := ~i~0 >= 0; {1848#(and (= |main_~#v~0.offset| 0) (or (not |main_#t~short10|) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:05,219 INFO L290 TraceCheckUtils]: 14: Hoare triple {1848#(and (= |main_~#v~0.offset| 0) (or (not |main_#t~short10|) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {1849#(and (= |main_~#v~0.offset| 0) (or (not |main_#t~short10|) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))))) (= 0 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:05,220 INFO L290 TraceCheckUtils]: 15: Hoare triple {1849#(and (= |main_~#v~0.offset| 0) (or (not |main_#t~short10|) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))))) (= 0 (* main_~i~0 4)))} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {1850#(and (= |main_~#v~0.offset| 0) (not (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ main_~i~0 1)))} is VALID [2022-04-27 10:17:05,221 INFO L290 TraceCheckUtils]: 16: Hoare triple {1850#(and (= |main_~#v~0.offset| 0) (not (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ main_~i~0 1)))} #t~short10 := ~i~0 >= 0; {1851#(and (= |main_~#v~0.offset| 0) (not (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (or (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (and (<= 0 (+ main_~i~0 1)) |main_#t~short10|)))} is VALID [2022-04-27 10:17:05,222 INFO L290 TraceCheckUtils]: 17: Hoare triple {1851#(and (= |main_~#v~0.offset| 0) (not (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (or (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (and (<= 0 (+ main_~i~0 1)) |main_#t~short10|)))} assume !#t~short10; {1852#(and (= |main_~#v~0.offset| 0) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (<= 0 (+ main_~i~0 1)))} is VALID [2022-04-27 10:17:05,222 INFO L290 TraceCheckUtils]: 18: Hoare triple {1852#(and (= |main_~#v~0.offset| 0) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (<= 0 (+ main_~i~0 1)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {1852#(and (= |main_~#v~0.offset| 0) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (<= 0 (+ main_~i~0 1)))} is VALID [2022-04-27 10:17:05,223 INFO L290 TraceCheckUtils]: 19: Hoare triple {1852#(and (= |main_~#v~0.offset| 0) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (<= 0 (+ main_~i~0 1)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {1853#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:05,224 INFO L290 TraceCheckUtils]: 20: Hoare triple {1853#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {1853#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:05,224 INFO L290 TraceCheckUtils]: 21: Hoare triple {1853#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1853#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:05,225 INFO L290 TraceCheckUtils]: 22: Hoare triple {1853#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} ~k~0 := 1; {1854#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} is VALID [2022-04-27 10:17:05,225 INFO L290 TraceCheckUtils]: 23: Hoare triple {1854#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {1855#(<= (+ |main_#t~mem13| 1) |main_#t~mem14|)} is VALID [2022-04-27 10:17:05,226 INFO L272 TraceCheckUtils]: 24: Hoare triple {1855#(<= (+ |main_#t~mem13| 1) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {1856#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:17:05,227 INFO L290 TraceCheckUtils]: 25: Hoare triple {1856#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {1857#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:17:05,227 INFO L290 TraceCheckUtils]: 26: Hoare triple {1857#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {1840#false} is VALID [2022-04-27 10:17:05,227 INFO L290 TraceCheckUtils]: 27: Hoare triple {1840#false} assume !false; {1840#false} is VALID [2022-04-27 10:17:05,228 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:05,228 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:05,228 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2116221154] [2022-04-27 10:17:05,228 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2116221154] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:05,228 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1958213044] [2022-04-27 10:17:05,228 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:05,228 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:05,229 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:05,229 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-04-27 10:17:05,231 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-04-27 10:17:05,279 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:05,281 INFO L263 TraceCheckSpWp]: Trace formula consists of 123 conjuncts, 23 conjunts are in the unsatisfiable core [2022-04-27 10:17:05,295 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:05,296 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:05,639 INFO L356 Elim1Store]: treesize reduction 39, result has 22.0 percent of original size [2022-04-27 10:17:05,639 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 39 treesize of output 30 [2022-04-27 10:17:06,226 INFO L356 Elim1Store]: treesize reduction 108, result has 10.0 percent of original size [2022-04-27 10:17:06,227 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 48 treesize of output 31 [2022-04-27 10:17:07,150 INFO L356 Elim1Store]: treesize reduction 78, result has 8.2 percent of original size [2022-04-27 10:17:07,150 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 0 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 6 case distinctions, treesize of input 38 treesize of output 16 [2022-04-27 10:17:07,277 INFO L272 TraceCheckUtils]: 0: Hoare triple {1839#true} call ULTIMATE.init(); {1839#true} is VALID [2022-04-27 10:17:07,277 INFO L290 TraceCheckUtils]: 1: Hoare triple {1839#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {1839#true} is VALID [2022-04-27 10:17:07,277 INFO L290 TraceCheckUtils]: 2: Hoare triple {1839#true} assume true; {1839#true} is VALID [2022-04-27 10:17:07,277 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1839#true} {1839#true} #87#return; {1839#true} is VALID [2022-04-27 10:17:07,277 INFO L272 TraceCheckUtils]: 4: Hoare triple {1839#true} call #t~ret15 := main(); {1839#true} is VALID [2022-04-27 10:17:07,277 INFO L290 TraceCheckUtils]: 5: Hoare triple {1839#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {1839#true} is VALID [2022-04-27 10:17:07,278 INFO L290 TraceCheckUtils]: 6: Hoare triple {1839#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {1839#true} is VALID [2022-04-27 10:17:07,278 INFO L290 TraceCheckUtils]: 7: Hoare triple {1839#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1839#true} is VALID [2022-04-27 10:17:07,278 INFO L290 TraceCheckUtils]: 8: Hoare triple {1839#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {1839#true} is VALID [2022-04-27 10:17:07,278 INFO L290 TraceCheckUtils]: 9: Hoare triple {1839#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1839#true} is VALID [2022-04-27 10:17:07,278 INFO L290 TraceCheckUtils]: 10: Hoare triple {1839#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1839#true} is VALID [2022-04-27 10:17:07,278 INFO L290 TraceCheckUtils]: 11: Hoare triple {1839#true} ~j~0 := 1; {1895#(<= main_~j~0 1)} is VALID [2022-04-27 10:17:07,279 INFO L290 TraceCheckUtils]: 12: Hoare triple {1895#(<= main_~j~0 1)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {1899#(<= main_~i~0 0)} is VALID [2022-04-27 10:17:07,279 INFO L290 TraceCheckUtils]: 13: Hoare triple {1899#(<= main_~i~0 0)} #t~short10 := ~i~0 >= 0; {1903#(and (<= main_~i~0 0) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} is VALID [2022-04-27 10:17:07,280 INFO L290 TraceCheckUtils]: 14: Hoare triple {1903#(and (<= main_~i~0 0) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {1907#(and (<= main_~i~0 0) (or (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (not |main_#t~short10|)) (<= 0 main_~i~0))} is VALID [2022-04-27 10:17:07,282 INFO L290 TraceCheckUtils]: 15: Hoare triple {1907#(and (<= main_~i~0 0) (or (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (not |main_#t~short10|)) (<= 0 main_~i~0))} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {1911#(exists ((v_main_~i~0_11 Int)) (and (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= v_main_~i~0_11 (+ main_~i~0 1)) (<= v_main_~i~0_11 0) (<= 0 v_main_~i~0_11) (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))))))} is VALID [2022-04-27 10:17:07,283 INFO L290 TraceCheckUtils]: 16: Hoare triple {1911#(exists ((v_main_~i~0_11 Int)) (and (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= v_main_~i~0_11 (+ main_~i~0 1)) (<= v_main_~i~0_11 0) (<= 0 v_main_~i~0_11) (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))))))} #t~short10 := ~i~0 >= 0; {1915#(and (exists ((v_main_~i~0_11 Int)) (and (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= v_main_~i~0_11 (+ main_~i~0 1)) (<= v_main_~i~0_11 0) (<= 0 v_main_~i~0_11) (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4)))))) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} is VALID [2022-04-27 10:17:07,284 INFO L290 TraceCheckUtils]: 17: Hoare triple {1915#(and (exists ((v_main_~i~0_11 Int)) (and (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= v_main_~i~0_11 (+ main_~i~0 1)) (<= v_main_~i~0_11 0) (<= 0 v_main_~i~0_11) (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4)))))) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} assume !#t~short10; {1919#(and (< main_~i~0 0) (exists ((v_main_~i~0_11 Int)) (and (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= v_main_~i~0_11 (+ main_~i~0 1)) (<= 0 v_main_~i~0_11) (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4)))))))} is VALID [2022-04-27 10:17:07,284 INFO L290 TraceCheckUtils]: 18: Hoare triple {1919#(and (< main_~i~0 0) (exists ((v_main_~i~0_11 Int)) (and (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= v_main_~i~0_11 (+ main_~i~0 1)) (<= 0 v_main_~i~0_11) (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4)))))))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {1919#(and (< main_~i~0 0) (exists ((v_main_~i~0_11 Int)) (and (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= v_main_~i~0_11 (+ main_~i~0 1)) (<= 0 v_main_~i~0_11) (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4)))))))} is VALID [2022-04-27 10:17:07,285 INFO L290 TraceCheckUtils]: 19: Hoare triple {1919#(and (< main_~i~0 0) (exists ((v_main_~i~0_11 Int)) (and (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= v_main_~i~0_11 (+ main_~i~0 1)) (<= 0 v_main_~i~0_11) (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4)))))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {1926#(exists ((main_~i~0 Int) (v_main_~i~0_11 Int)) (and (< main_~i~0 0) (<= v_main_~i~0_11 (+ main_~i~0 1)) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= 0 v_main_~i~0_11)))} is VALID [2022-04-27 10:17:07,287 INFO L290 TraceCheckUtils]: 20: Hoare triple {1926#(exists ((main_~i~0 Int) (v_main_~i~0_11 Int)) (and (< main_~i~0 0) (<= v_main_~i~0_11 (+ main_~i~0 1)) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= 0 v_main_~i~0_11)))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {1926#(exists ((main_~i~0 Int) (v_main_~i~0_11 Int)) (and (< main_~i~0 0) (<= v_main_~i~0_11 (+ main_~i~0 1)) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= 0 v_main_~i~0_11)))} is VALID [2022-04-27 10:17:07,289 INFO L290 TraceCheckUtils]: 21: Hoare triple {1926#(exists ((main_~i~0 Int) (v_main_~i~0_11 Int)) (and (< main_~i~0 0) (<= v_main_~i~0_11 (+ main_~i~0 1)) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= 0 v_main_~i~0_11)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1926#(exists ((main_~i~0 Int) (v_main_~i~0_11 Int)) (and (< main_~i~0 0) (<= v_main_~i~0_11 (+ main_~i~0 1)) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= 0 v_main_~i~0_11)))} is VALID [2022-04-27 10:17:07,290 INFO L290 TraceCheckUtils]: 22: Hoare triple {1926#(exists ((main_~i~0 Int) (v_main_~i~0_11 Int)) (and (< main_~i~0 0) (<= v_main_~i~0_11 (+ main_~i~0 1)) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= 0 v_main_~i~0_11)))} ~k~0 := 1; {1936#(and (exists ((main_~i~0 Int) (v_main_~i~0_11 Int)) (and (< main_~i~0 0) (<= v_main_~i~0_11 (+ main_~i~0 1)) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= 0 v_main_~i~0_11))) (= main_~k~0 1))} is VALID [2022-04-27 10:17:07,291 INFO L290 TraceCheckUtils]: 23: Hoare triple {1936#(and (exists ((main_~i~0 Int) (v_main_~i~0_11 Int)) (and (< main_~i~0 0) (<= v_main_~i~0_11 (+ main_~i~0 1)) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* v_main_~i~0_11 4) 4))) (<= 0 v_main_~i~0_11))) (= main_~k~0 1))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {1855#(<= (+ |main_#t~mem13| 1) |main_#t~mem14|)} is VALID [2022-04-27 10:17:07,292 INFO L272 TraceCheckUtils]: 24: Hoare triple {1855#(<= (+ |main_#t~mem13| 1) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {1943#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:07,292 INFO L290 TraceCheckUtils]: 25: Hoare triple {1943#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1947#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:07,292 INFO L290 TraceCheckUtils]: 26: Hoare triple {1947#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1840#false} is VALID [2022-04-27 10:17:07,293 INFO L290 TraceCheckUtils]: 27: Hoare triple {1840#false} assume !false; {1840#false} is VALID [2022-04-27 10:17:07,293 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 0 proven. 4 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:17:07,293 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:08,325 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 69 treesize of output 61 [2022-04-27 10:17:08,393 INFO L356 Elim1Store]: treesize reduction 36, result has 2.7 percent of original size [2022-04-27 10:17:08,393 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 771 treesize of output 711 [2022-04-27 10:17:09,508 INFO L290 TraceCheckUtils]: 27: Hoare triple {1840#false} assume !false; {1840#false} is VALID [2022-04-27 10:17:09,508 INFO L290 TraceCheckUtils]: 26: Hoare triple {1947#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {1840#false} is VALID [2022-04-27 10:17:09,509 INFO L290 TraceCheckUtils]: 25: Hoare triple {1943#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {1947#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:09,509 INFO L272 TraceCheckUtils]: 24: Hoare triple {1963#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {1943#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:09,510 INFO L290 TraceCheckUtils]: 23: Hoare triple {1967#(<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {1963#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:17:09,510 INFO L290 TraceCheckUtils]: 22: Hoare triple {1971#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} ~k~0 := 1; {1967#(<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4))))} is VALID [2022-04-27 10:17:09,511 INFO L290 TraceCheckUtils]: 21: Hoare triple {1971#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1971#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:09,511 INFO L290 TraceCheckUtils]: 20: Hoare triple {1971#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {1971#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:09,512 INFO L290 TraceCheckUtils]: 19: Hoare triple {1981#(forall ((v_ArrVal_73 Int)) (or (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) (+ |main_~#v~0.offset| 4)))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {1971#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:09,512 INFO L290 TraceCheckUtils]: 18: Hoare triple {1981#(forall ((v_ArrVal_73 Int)) (or (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) (+ |main_~#v~0.offset| 4)))))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {1981#(forall ((v_ArrVal_73 Int)) (or (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) (+ |main_~#v~0.offset| 4)))))} is VALID [2022-04-27 10:17:09,513 INFO L290 TraceCheckUtils]: 17: Hoare triple {1988#(or (forall ((v_ArrVal_73 Int)) (or (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) (+ |main_~#v~0.offset| 4))))) |main_#t~short10|)} assume !#t~short10; {1981#(forall ((v_ArrVal_73 Int)) (or (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) (+ |main_~#v~0.offset| 4)))))} is VALID [2022-04-27 10:17:09,513 INFO L290 TraceCheckUtils]: 16: Hoare triple {1992#(or (<= 0 main_~i~0) (forall ((v_ArrVal_73 Int)) (or (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) (+ |main_~#v~0.offset| 4))))))} #t~short10 := ~i~0 >= 0; {1988#(or (forall ((v_ArrVal_73 Int)) (or (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) (+ |main_~#v~0.offset| 4))))) |main_#t~short10|)} is VALID [2022-04-27 10:17:09,515 INFO L290 TraceCheckUtils]: 15: Hoare triple {1996#(or (forall ((v_main_~i~0_12 Int) (v_ArrVal_72 Int) (v_ArrVal_73 Int)) (or (not (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) v_ArrVal_72)) (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_72) (+ |main_~#v~0.offset| (* v_main_~i~0_12 4) 4) v_ArrVal_73) |main_~#v~0.offset|) (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_72) (+ |main_~#v~0.offset| (* v_main_~i~0_12 4) 4) v_ArrVal_73) (+ |main_~#v~0.offset| 4))) (not (<= main_~i~0 (+ v_main_~i~0_12 1))) (<= 0 v_main_~i~0_12))) (not |main_#t~short10|))} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {1992#(or (<= 0 main_~i~0) (forall ((v_ArrVal_73 Int)) (or (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_73) (+ |main_~#v~0.offset| 4))))))} is VALID [2022-04-27 10:17:09,516 INFO L290 TraceCheckUtils]: 14: Hoare triple {2000#(or (not |main_#t~short10|) (<= 1 main_~i~0) (= 0 (* main_~i~0 4)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {1996#(or (forall ((v_main_~i~0_12 Int) (v_ArrVal_72 Int) (v_ArrVal_73 Int)) (or (not (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) v_ArrVal_72)) (not (<= v_ArrVal_73 main_~key~0)) (<= (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_72) (+ |main_~#v~0.offset| (* v_main_~i~0_12 4) 4) v_ArrVal_73) |main_~#v~0.offset|) (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_72) (+ |main_~#v~0.offset| (* v_main_~i~0_12 4) 4) v_ArrVal_73) (+ |main_~#v~0.offset| 4))) (not (<= main_~i~0 (+ v_main_~i~0_12 1))) (<= 0 v_main_~i~0_12))) (not |main_#t~short10|))} is VALID [2022-04-27 10:17:09,516 INFO L290 TraceCheckUtils]: 13: Hoare triple {1839#true} #t~short10 := ~i~0 >= 0; {2000#(or (not |main_#t~short10|) (<= 1 main_~i~0) (= 0 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:09,516 INFO L290 TraceCheckUtils]: 12: Hoare triple {1839#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {1839#true} is VALID [2022-04-27 10:17:09,516 INFO L290 TraceCheckUtils]: 11: Hoare triple {1839#true} ~j~0 := 1; {1839#true} is VALID [2022-04-27 10:17:09,516 INFO L290 TraceCheckUtils]: 10: Hoare triple {1839#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {1839#true} is VALID [2022-04-27 10:17:09,516 INFO L290 TraceCheckUtils]: 9: Hoare triple {1839#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1839#true} is VALID [2022-04-27 10:17:09,516 INFO L290 TraceCheckUtils]: 8: Hoare triple {1839#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {1839#true} is VALID [2022-04-27 10:17:09,516 INFO L290 TraceCheckUtils]: 7: Hoare triple {1839#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {1839#true} is VALID [2022-04-27 10:17:09,517 INFO L290 TraceCheckUtils]: 6: Hoare triple {1839#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {1839#true} is VALID [2022-04-27 10:17:09,517 INFO L290 TraceCheckUtils]: 5: Hoare triple {1839#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {1839#true} is VALID [2022-04-27 10:17:09,517 INFO L272 TraceCheckUtils]: 4: Hoare triple {1839#true} call #t~ret15 := main(); {1839#true} is VALID [2022-04-27 10:17:09,517 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1839#true} {1839#true} #87#return; {1839#true} is VALID [2022-04-27 10:17:09,517 INFO L290 TraceCheckUtils]: 2: Hoare triple {1839#true} assume true; {1839#true} is VALID [2022-04-27 10:17:09,517 INFO L290 TraceCheckUtils]: 1: Hoare triple {1839#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {1839#true} is VALID [2022-04-27 10:17:09,517 INFO L272 TraceCheckUtils]: 0: Hoare triple {1839#true} call ULTIMATE.init(); {1839#true} is VALID [2022-04-27 10:17:09,517 INFO L134 CoverageAnalysis]: Checked inductivity of 8 backedges. 2 proven. 2 refuted. 0 times theorem prover too weak. 4 trivial. 0 not checked. [2022-04-27 10:17:09,517 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1958213044] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:09,517 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:09,517 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 14, 12] total 36 [2022-04-27 10:17:09,518 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [443731592] [2022-04-27 10:17:09,518 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:09,519 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 33 states have internal predecessors, (57), 3 states have call successors, (6), 4 states have call predecessors, (6), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-04-27 10:17:09,519 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:09,519 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 36 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 33 states have internal predecessors, (57), 3 states have call successors, (6), 4 states have call predecessors, (6), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:09,576 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:09,577 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 36 states [2022-04-27 10:17:09,577 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:09,577 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 36 interpolants. [2022-04-27 10:17:09,578 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=136, Invalid=1123, Unknown=1, NotChecked=0, Total=1260 [2022-04-27 10:17:09,578 INFO L87 Difference]: Start difference. First operand 46 states and 54 transitions. Second operand has 36 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 33 states have internal predecessors, (57), 3 states have call successors, (6), 4 states have call predecessors, (6), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:34,042 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:34,042 INFO L93 Difference]: Finished difference Result 146 states and 188 transitions. [2022-04-27 10:17:34,042 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 52 states. [2022-04-27 10:17:34,043 INFO L78 Accepts]: Start accepts. Automaton has has 36 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 33 states have internal predecessors, (57), 3 states have call successors, (6), 4 states have call predecessors, (6), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 28 [2022-04-27 10:17:34,043 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:34,043 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 33 states have internal predecessors, (57), 3 states have call successors, (6), 4 states have call predecessors, (6), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:34,046 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 166 transitions. [2022-04-27 10:17:34,046 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 36 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 33 states have internal predecessors, (57), 3 states have call successors, (6), 4 states have call predecessors, (6), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:34,049 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 52 states to 52 states and 166 transitions. [2022-04-27 10:17:34,049 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 52 states and 166 transitions. [2022-04-27 10:17:34,211 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 166 edges. 166 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:34,213 INFO L225 Difference]: With dead ends: 146 [2022-04-27 10:17:34,213 INFO L226 Difference]: Without dead ends: 144 [2022-04-27 10:17:34,215 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 130 GetRequests, 45 SyntacticMatches, 5 SemanticMatches, 80 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1961 ImplicationChecksByTransitivity, 23.9s TimeCoverageRelationStatistics Valid=722, Invalid=5915, Unknown=5, NotChecked=0, Total=6642 [2022-04-27 10:17:34,215 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 111 mSDsluCounter, 124 mSDsCounter, 0 mSdLazyCounter, 862 mSolverCounterSat, 103 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.8s Time, 0 mProtectedPredicate, 0 mProtectedAction, 112 SdHoareTripleChecker+Valid, 151 SdHoareTripleChecker+Invalid, 1506 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 103 IncrementalHoareTripleChecker+Valid, 862 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 541 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:34,216 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [112 Valid, 151 Invalid, 1506 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [103 Valid, 862 Invalid, 0 Unknown, 541 Unchecked, 0.9s Time] [2022-04-27 10:17:34,216 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 144 states. [2022-04-27 10:17:34,270 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 144 to 69. [2022-04-27 10:17:34,270 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:34,270 INFO L82 GeneralOperation]: Start isEquivalent. First operand 144 states. Second operand has 69 states, 61 states have (on average 1.360655737704918) internal successors, (83), 62 states have internal predecessors, (83), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:34,270 INFO L74 IsIncluded]: Start isIncluded. First operand 144 states. Second operand has 69 states, 61 states have (on average 1.360655737704918) internal successors, (83), 62 states have internal predecessors, (83), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:34,271 INFO L87 Difference]: Start difference. First operand 144 states. Second operand has 69 states, 61 states have (on average 1.360655737704918) internal successors, (83), 62 states have internal predecessors, (83), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:34,278 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:34,278 INFO L93 Difference]: Finished difference Result 144 states and 186 transitions. [2022-04-27 10:17:34,278 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 186 transitions. [2022-04-27 10:17:34,279 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:34,279 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:34,279 INFO L74 IsIncluded]: Start isIncluded. First operand has 69 states, 61 states have (on average 1.360655737704918) internal successors, (83), 62 states have internal predecessors, (83), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 144 states. [2022-04-27 10:17:34,279 INFO L87 Difference]: Start difference. First operand has 69 states, 61 states have (on average 1.360655737704918) internal successors, (83), 62 states have internal predecessors, (83), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 144 states. [2022-04-27 10:17:34,284 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:34,284 INFO L93 Difference]: Finished difference Result 144 states and 186 transitions. [2022-04-27 10:17:34,284 INFO L276 IsEmpty]: Start isEmpty. Operand 144 states and 186 transitions. [2022-04-27 10:17:34,285 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:34,285 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:34,285 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:34,285 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:34,285 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 69 states, 61 states have (on average 1.360655737704918) internal successors, (83), 62 states have internal predecessors, (83), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:34,286 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 69 states to 69 states and 90 transitions. [2022-04-27 10:17:34,286 INFO L78 Accepts]: Start accepts. Automaton has 69 states and 90 transitions. Word has length 28 [2022-04-27 10:17:34,287 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:34,288 INFO L495 AbstractCegarLoop]: Abstraction has 69 states and 90 transitions. [2022-04-27 10:17:34,288 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 36 states, 34 states have (on average 1.6764705882352942) internal successors, (57), 33 states have internal predecessors, (57), 3 states have call successors, (6), 4 states have call predecessors, (6), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:34,288 INFO L276 IsEmpty]: Start isEmpty. Operand 69 states and 90 transitions. [2022-04-27 10:17:34,288 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-27 10:17:34,288 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:34,288 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:34,316 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-04-27 10:17:34,505 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:34,505 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:34,505 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:34,506 INFO L85 PathProgramCache]: Analyzing trace with hash -990333180, now seen corresponding path program 3 times [2022-04-27 10:17:34,506 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:34,506 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1901253394] [2022-04-27 10:17:34,506 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:34,506 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:34,528 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:34,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:34,600 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:34,609 INFO L290 TraceCheckUtils]: 0: Hoare triple {2742#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {2731#true} is VALID [2022-04-27 10:17:34,609 INFO L290 TraceCheckUtils]: 1: Hoare triple {2731#true} assume true; {2731#true} is VALID [2022-04-27 10:17:34,609 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2731#true} {2731#true} #87#return; {2731#true} is VALID [2022-04-27 10:17:34,612 INFO L272 TraceCheckUtils]: 0: Hoare triple {2731#true} call ULTIMATE.init(); {2742#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:34,612 INFO L290 TraceCheckUtils]: 1: Hoare triple {2742#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {2731#true} is VALID [2022-04-27 10:17:34,612 INFO L290 TraceCheckUtils]: 2: Hoare triple {2731#true} assume true; {2731#true} is VALID [2022-04-27 10:17:34,612 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2731#true} {2731#true} #87#return; {2731#true} is VALID [2022-04-27 10:17:34,612 INFO L272 TraceCheckUtils]: 4: Hoare triple {2731#true} call #t~ret15 := main(); {2731#true} is VALID [2022-04-27 10:17:34,613 INFO L290 TraceCheckUtils]: 5: Hoare triple {2731#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {2736#(= main_~j~0 0)} is VALID [2022-04-27 10:17:34,613 INFO L290 TraceCheckUtils]: 6: Hoare triple {2736#(= main_~j~0 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {2736#(= main_~j~0 0)} is VALID [2022-04-27 10:17:34,613 INFO L290 TraceCheckUtils]: 7: Hoare triple {2736#(= main_~j~0 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {2737#(and (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:34,614 INFO L290 TraceCheckUtils]: 8: Hoare triple {2737#(and (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {2737#(and (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:34,615 INFO L290 TraceCheckUtils]: 9: Hoare triple {2737#(and (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {2738#(and (<= main_~j~0 2) (not (<= (+ (div main_~j~0 4294967296) 1) 0)))} is VALID [2022-04-27 10:17:34,615 INFO L290 TraceCheckUtils]: 10: Hoare triple {2738#(and (<= main_~j~0 2) (not (<= (+ (div main_~j~0 4294967296) 1) 0)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {2739#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:34,616 INFO L290 TraceCheckUtils]: 11: Hoare triple {2739#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~j~0 := 1; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:34,616 INFO L290 TraceCheckUtils]: 12: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:34,616 INFO L290 TraceCheckUtils]: 13: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #t~short10 := ~i~0 >= 0; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:34,617 INFO L290 TraceCheckUtils]: 14: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:34,617 INFO L290 TraceCheckUtils]: 15: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:34,618 INFO L290 TraceCheckUtils]: 16: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:34,618 INFO L290 TraceCheckUtils]: 17: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {2741#(<= (+ main_~SIZE~0 (* 4294967296 (div main_~j~0 4294967296))) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 18: Hoare triple {2741#(<= (+ main_~SIZE~0 (* 4294967296 (div main_~j~0 4294967296))) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 19: Hoare triple {2732#false} #t~short10 := ~i~0 >= 0; {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 20: Hoare triple {2732#false} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 21: Hoare triple {2732#false} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 22: Hoare triple {2732#false} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 23: Hoare triple {2732#false} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 24: Hoare triple {2732#false} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 25: Hoare triple {2732#false} ~k~0 := 1; {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L290 TraceCheckUtils]: 26: Hoare triple {2732#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {2732#false} is VALID [2022-04-27 10:17:34,619 INFO L272 TraceCheckUtils]: 27: Hoare triple {2732#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {2732#false} is VALID [2022-04-27 10:17:34,620 INFO L290 TraceCheckUtils]: 28: Hoare triple {2732#false} ~cond := #in~cond; {2732#false} is VALID [2022-04-27 10:17:34,620 INFO L290 TraceCheckUtils]: 29: Hoare triple {2732#false} assume 0 == ~cond; {2732#false} is VALID [2022-04-27 10:17:34,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {2732#false} assume !false; {2732#false} is VALID [2022-04-27 10:17:34,620 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:34,620 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:34,620 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1901253394] [2022-04-27 10:17:34,620 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1901253394] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:34,620 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1116419160] [2022-04-27 10:17:34,620 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 10:17:34,620 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:34,620 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:34,621 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-04-27 10:17:34,623 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-04-27 10:17:34,679 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 3 check-sat command(s) [2022-04-27 10:17:34,679 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:34,680 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 10:17:34,688 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:34,689 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:35,212 INFO L272 TraceCheckUtils]: 0: Hoare triple {2731#true} call ULTIMATE.init(); {2731#true} is VALID [2022-04-27 10:17:35,213 INFO L290 TraceCheckUtils]: 1: Hoare triple {2731#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {2731#true} is VALID [2022-04-27 10:17:35,213 INFO L290 TraceCheckUtils]: 2: Hoare triple {2731#true} assume true; {2731#true} is VALID [2022-04-27 10:17:35,213 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2731#true} {2731#true} #87#return; {2731#true} is VALID [2022-04-27 10:17:35,213 INFO L272 TraceCheckUtils]: 4: Hoare triple {2731#true} call #t~ret15 := main(); {2731#true} is VALID [2022-04-27 10:17:35,213 INFO L290 TraceCheckUtils]: 5: Hoare triple {2731#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {2736#(= main_~j~0 0)} is VALID [2022-04-27 10:17:35,213 INFO L290 TraceCheckUtils]: 6: Hoare triple {2736#(= main_~j~0 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {2736#(= main_~j~0 0)} is VALID [2022-04-27 10:17:35,214 INFO L290 TraceCheckUtils]: 7: Hoare triple {2736#(= main_~j~0 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {2737#(and (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:35,214 INFO L290 TraceCheckUtils]: 8: Hoare triple {2737#(and (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {2737#(and (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:35,215 INFO L290 TraceCheckUtils]: 9: Hoare triple {2737#(and (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {2773#(and (<= main_~j~0 2) (<= 2 main_~j~0))} is VALID [2022-04-27 10:17:35,216 INFO L290 TraceCheckUtils]: 10: Hoare triple {2773#(and (<= main_~j~0 2) (<= 2 main_~j~0))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {2739#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:35,216 INFO L290 TraceCheckUtils]: 11: Hoare triple {2739#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~j~0 := 1; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:35,216 INFO L290 TraceCheckUtils]: 12: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:35,217 INFO L290 TraceCheckUtils]: 13: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #t~short10 := ~i~0 >= 0; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:35,217 INFO L290 TraceCheckUtils]: 14: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:35,218 INFO L290 TraceCheckUtils]: 15: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:35,218 INFO L290 TraceCheckUtils]: 16: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:35,219 INFO L290 TraceCheckUtils]: 17: Hoare triple {2740#(and (= (+ (- 1) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {2798#(and (= (+ (- 2) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:35,219 INFO L290 TraceCheckUtils]: 18: Hoare triple {2798#(and (= (+ (- 2) main_~j~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {2732#false} is VALID [2022-04-27 10:17:35,219 INFO L290 TraceCheckUtils]: 19: Hoare triple {2732#false} #t~short10 := ~i~0 >= 0; {2732#false} is VALID [2022-04-27 10:17:35,219 INFO L290 TraceCheckUtils]: 20: Hoare triple {2732#false} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {2732#false} is VALID [2022-04-27 10:17:35,219 INFO L290 TraceCheckUtils]: 21: Hoare triple {2732#false} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L290 TraceCheckUtils]: 22: Hoare triple {2732#false} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L290 TraceCheckUtils]: 23: Hoare triple {2732#false} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L290 TraceCheckUtils]: 24: Hoare triple {2732#false} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L290 TraceCheckUtils]: 25: Hoare triple {2732#false} ~k~0 := 1; {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L290 TraceCheckUtils]: 26: Hoare triple {2732#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L272 TraceCheckUtils]: 27: Hoare triple {2732#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L290 TraceCheckUtils]: 28: Hoare triple {2732#false} ~cond := #in~cond; {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L290 TraceCheckUtils]: 29: Hoare triple {2732#false} assume 0 == ~cond; {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L290 TraceCheckUtils]: 30: Hoare triple {2732#false} assume !false; {2732#false} is VALID [2022-04-27 10:17:35,220 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:35,220 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:35,555 INFO L290 TraceCheckUtils]: 30: Hoare triple {2732#false} assume !false; {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 29: Hoare triple {2732#false} assume 0 == ~cond; {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 28: Hoare triple {2732#false} ~cond := #in~cond; {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L272 TraceCheckUtils]: 27: Hoare triple {2732#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 26: Hoare triple {2732#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 25: Hoare triple {2732#false} ~k~0 := 1; {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 24: Hoare triple {2732#false} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 23: Hoare triple {2732#false} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 22: Hoare triple {2732#false} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 21: Hoare triple {2732#false} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {2732#false} is VALID [2022-04-27 10:17:35,556 INFO L290 TraceCheckUtils]: 20: Hoare triple {2732#false} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {2732#false} is VALID [2022-04-27 10:17:35,557 INFO L290 TraceCheckUtils]: 19: Hoare triple {2732#false} #t~short10 := ~i~0 >= 0; {2732#false} is VALID [2022-04-27 10:17:35,557 INFO L290 TraceCheckUtils]: 18: Hoare triple {2741#(<= (+ main_~SIZE~0 (* 4294967296 (div main_~j~0 4294967296))) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {2732#false} is VALID [2022-04-27 10:17:35,558 INFO L290 TraceCheckUtils]: 17: Hoare triple {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {2741#(<= (+ main_~SIZE~0 (* 4294967296 (div main_~j~0 4294967296))) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:35,559 INFO L290 TraceCheckUtils]: 16: Hoare triple {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:17:35,559 INFO L290 TraceCheckUtils]: 15: Hoare triple {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:17:35,559 INFO L290 TraceCheckUtils]: 14: Hoare triple {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:17:35,560 INFO L290 TraceCheckUtils]: 13: Hoare triple {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} #t~short10 := ~i~0 >= 0; {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:17:35,560 INFO L290 TraceCheckUtils]: 12: Hoare triple {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:17:35,560 INFO L290 TraceCheckUtils]: 11: Hoare triple {2739#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~j~0 := 1; {2877#(<= (+ main_~SIZE~0 (* (div (+ main_~j~0 1) 4294967296) 4294967296)) (+ main_~j~0 (* (div main_~SIZE~0 4294967296) 4294967296) 1))} is VALID [2022-04-27 10:17:35,561 INFO L290 TraceCheckUtils]: 10: Hoare triple {2899#(<= 0 (div (+ 2 (* (- 1) (mod main_~j~0 4294967296))) 4294967296))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {2739#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:35,562 INFO L290 TraceCheckUtils]: 9: Hoare triple {2903#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 2) 4294967296))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {2899#(<= 0 (div (+ 2 (* (- 1) (mod main_~j~0 4294967296))) 4294967296))} is VALID [2022-04-27 10:17:35,562 INFO L290 TraceCheckUtils]: 8: Hoare triple {2903#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 2) 4294967296))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {2903#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 2) 4294967296))} is VALID [2022-04-27 10:17:35,563 INFO L290 TraceCheckUtils]: 7: Hoare triple {2910#(<= 0 (div (+ 2 (* (- 1) (mod (+ main_~j~0 2) 4294967296))) 4294967296))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {2903#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 2) 4294967296))} is VALID [2022-04-27 10:17:35,563 INFO L290 TraceCheckUtils]: 6: Hoare triple {2910#(<= 0 (div (+ 2 (* (- 1) (mod (+ main_~j~0 2) 4294967296))) 4294967296))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {2910#(<= 0 (div (+ 2 (* (- 1) (mod (+ main_~j~0 2) 4294967296))) 4294967296))} is VALID [2022-04-27 10:17:35,564 INFO L290 TraceCheckUtils]: 5: Hoare triple {2731#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {2910#(<= 0 (div (+ 2 (* (- 1) (mod (+ main_~j~0 2) 4294967296))) 4294967296))} is VALID [2022-04-27 10:17:35,564 INFO L272 TraceCheckUtils]: 4: Hoare triple {2731#true} call #t~ret15 := main(); {2731#true} is VALID [2022-04-27 10:17:35,564 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2731#true} {2731#true} #87#return; {2731#true} is VALID [2022-04-27 10:17:35,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {2731#true} assume true; {2731#true} is VALID [2022-04-27 10:17:35,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {2731#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {2731#true} is VALID [2022-04-27 10:17:35,565 INFO L272 TraceCheckUtils]: 0: Hoare triple {2731#true} call ULTIMATE.init(); {2731#true} is VALID [2022-04-27 10:17:35,565 INFO L134 CoverageAnalysis]: Checked inductivity of 12 backedges. 7 proven. 5 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:35,565 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1116419160] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:35,565 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:35,565 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 15 [2022-04-27 10:17:35,565 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1593531377] [2022-04-27 10:17:35,565 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:35,566 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-27 10:17:35,566 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:35,566 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:35,607 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 50 edges. 50 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:35,607 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 15 states [2022-04-27 10:17:35,607 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:35,607 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 15 interpolants. [2022-04-27 10:17:35,607 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-27 10:17:35,608 INFO L87 Difference]: Start difference. First operand 69 states and 90 transitions. Second operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:36,486 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:36,486 INFO L93 Difference]: Finished difference Result 204 states and 281 transitions. [2022-04-27 10:17:36,487 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-27 10:17:36,487 INFO L78 Accepts]: Start accepts. Automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-27 10:17:36,487 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:36,487 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:36,488 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2022-04-27 10:17:36,488 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:36,489 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 91 transitions. [2022-04-27 10:17:36,489 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 91 transitions. [2022-04-27 10:17:36,573 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 91 edges. 91 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:36,575 INFO L225 Difference]: With dead ends: 204 [2022-04-27 10:17:36,575 INFO L226 Difference]: Without dead ends: 154 [2022-04-27 10:17:36,576 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 77 GetRequests, 54 SyntacticMatches, 4 SemanticMatches, 19 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 72 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=97, Invalid=323, Unknown=0, NotChecked=0, Total=420 [2022-04-27 10:17:36,576 INFO L413 NwaCegarLoop]: 28 mSDtfsCounter, 104 mSDsluCounter, 47 mSDsCounter, 0 mSdLazyCounter, 342 mSolverCounterSat, 28 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 104 SdHoareTripleChecker+Valid, 75 SdHoareTripleChecker+Invalid, 370 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 28 IncrementalHoareTripleChecker+Valid, 342 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:36,576 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [104 Valid, 75 Invalid, 370 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [28 Valid, 342 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 10:17:36,577 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 154 states. [2022-04-27 10:17:36,715 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 154 to 94. [2022-04-27 10:17:36,715 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:36,716 INFO L82 GeneralOperation]: Start isEquivalent. First operand 154 states. Second operand has 94 states, 86 states have (on average 1.372093023255814) internal successors, (118), 87 states have internal predecessors, (118), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:36,716 INFO L74 IsIncluded]: Start isIncluded. First operand 154 states. Second operand has 94 states, 86 states have (on average 1.372093023255814) internal successors, (118), 87 states have internal predecessors, (118), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:36,723 INFO L87 Difference]: Start difference. First operand 154 states. Second operand has 94 states, 86 states have (on average 1.372093023255814) internal successors, (118), 87 states have internal predecessors, (118), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:36,737 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:36,737 INFO L93 Difference]: Finished difference Result 154 states and 211 transitions. [2022-04-27 10:17:36,737 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 211 transitions. [2022-04-27 10:17:36,738 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:36,738 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:36,739 INFO L74 IsIncluded]: Start isIncluded. First operand has 94 states, 86 states have (on average 1.372093023255814) internal successors, (118), 87 states have internal predecessors, (118), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 154 states. [2022-04-27 10:17:36,739 INFO L87 Difference]: Start difference. First operand has 94 states, 86 states have (on average 1.372093023255814) internal successors, (118), 87 states have internal predecessors, (118), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 154 states. [2022-04-27 10:17:36,759 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:36,759 INFO L93 Difference]: Finished difference Result 154 states and 211 transitions. [2022-04-27 10:17:36,759 INFO L276 IsEmpty]: Start isEmpty. Operand 154 states and 211 transitions. [2022-04-27 10:17:36,759 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:36,759 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:36,759 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:36,759 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:36,760 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 94 states, 86 states have (on average 1.372093023255814) internal successors, (118), 87 states have internal predecessors, (118), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:36,781 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 94 states to 94 states and 125 transitions. [2022-04-27 10:17:36,781 INFO L78 Accepts]: Start accepts. Automaton has 94 states and 125 transitions. Word has length 31 [2022-04-27 10:17:36,781 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:36,781 INFO L495 AbstractCegarLoop]: Abstraction has 94 states and 125 transitions. [2022-04-27 10:17:36,794 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 15 states, 15 states have (on average 3.0) internal successors, (45), 14 states have internal predecessors, (45), 2 states have call successors, (4), 3 states have call predecessors, (4), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:36,795 INFO L276 IsEmpty]: Start isEmpty. Operand 94 states and 125 transitions. [2022-04-27 10:17:36,796 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 32 [2022-04-27 10:17:36,796 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:36,796 INFO L195 NwaCegarLoop]: trace histogram [3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:36,815 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-04-27 10:17:37,012 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable7,6 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:37,012 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:37,013 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:37,013 INFO L85 PathProgramCache]: Analyzing trace with hash -1076522223, now seen corresponding path program 2 times [2022-04-27 10:17:37,013 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:37,013 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1154418197] [2022-04-27 10:17:37,013 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:37,013 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:37,025 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:37,051 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:37,052 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:37,055 INFO L290 TraceCheckUtils]: 0: Hoare triple {3665#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {3659#true} is VALID [2022-04-27 10:17:37,055 INFO L290 TraceCheckUtils]: 1: Hoare triple {3659#true} assume true; {3659#true} is VALID [2022-04-27 10:17:37,055 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3659#true} {3659#true} #87#return; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L272 TraceCheckUtils]: 0: Hoare triple {3659#true} call ULTIMATE.init(); {3665#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 1: Hoare triple {3665#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 2: Hoare triple {3659#true} assume true; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3659#true} {3659#true} #87#return; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L272 TraceCheckUtils]: 4: Hoare triple {3659#true} call #t~ret15 := main(); {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 5: Hoare triple {3659#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 6: Hoare triple {3659#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 7: Hoare triple {3659#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 8: Hoare triple {3659#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 9: Hoare triple {3659#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 10: Hoare triple {3659#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 11: Hoare triple {3659#true} ~j~0 := 1; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 12: Hoare triple {3659#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {3659#true} is VALID [2022-04-27 10:17:37,056 INFO L290 TraceCheckUtils]: 13: Hoare triple {3659#true} #t~short10 := ~i~0 >= 0; {3659#true} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 14: Hoare triple {3659#true} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {3659#true} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 15: Hoare triple {3659#true} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {3659#true} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 16: Hoare triple {3659#true} #t~short10 := ~i~0 >= 0; {3659#true} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 17: Hoare triple {3659#true} assume !#t~short10; {3664#(not |main_#t~short10|)} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 18: Hoare triple {3664#(not |main_#t~short10|)} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {3660#false} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 19: Hoare triple {3660#false} #t~short10 := ~i~0 >= 0; {3660#false} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 20: Hoare triple {3660#false} assume !#t~short10; {3660#false} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 21: Hoare triple {3660#false} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {3660#false} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 22: Hoare triple {3660#false} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {3660#false} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 23: Hoare triple {3660#false} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {3660#false} is VALID [2022-04-27 10:17:37,057 INFO L290 TraceCheckUtils]: 24: Hoare triple {3660#false} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {3660#false} is VALID [2022-04-27 10:17:37,058 INFO L290 TraceCheckUtils]: 25: Hoare triple {3660#false} ~k~0 := 1; {3660#false} is VALID [2022-04-27 10:17:37,058 INFO L290 TraceCheckUtils]: 26: Hoare triple {3660#false} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {3660#false} is VALID [2022-04-27 10:17:37,058 INFO L272 TraceCheckUtils]: 27: Hoare triple {3660#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {3660#false} is VALID [2022-04-27 10:17:37,058 INFO L290 TraceCheckUtils]: 28: Hoare triple {3660#false} ~cond := #in~cond; {3660#false} is VALID [2022-04-27 10:17:37,058 INFO L290 TraceCheckUtils]: 29: Hoare triple {3660#false} assume 0 == ~cond; {3660#false} is VALID [2022-04-27 10:17:37,058 INFO L290 TraceCheckUtils]: 30: Hoare triple {3660#false} assume !false; {3660#false} is VALID [2022-04-27 10:17:37,058 INFO L134 CoverageAnalysis]: Checked inductivity of 14 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 6 trivial. 0 not checked. [2022-04-27 10:17:37,058 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:37,058 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1154418197] [2022-04-27 10:17:37,058 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1154418197] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-27 10:17:37,058 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-27 10:17:37,058 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-27 10:17:37,058 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1491775627] [2022-04-27 10:17:37,058 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-27 10:17:37,059 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-27 10:17:37,059 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:37,060 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:37,073 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 28 edges. 28 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:37,073 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-27 10:17:37,073 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:37,073 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-27 10:17:37,073 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-27 10:17:37,074 INFO L87 Difference]: Start difference. First operand 94 states and 125 transitions. Second operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:37,198 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:37,198 INFO L93 Difference]: Finished difference Result 146 states and 195 transitions. [2022-04-27 10:17:37,198 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 4 states. [2022-04-27 10:17:37,198 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 31 [2022-04-27 10:17:37,199 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:37,199 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:37,201 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 52 transitions. [2022-04-27 10:17:37,201 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:37,202 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 4 states to 4 states and 52 transitions. [2022-04-27 10:17:37,202 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 4 states and 52 transitions. [2022-04-27 10:17:37,229 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:37,230 INFO L225 Difference]: With dead ends: 146 [2022-04-27 10:17:37,230 INFO L226 Difference]: Without dead ends: 80 [2022-04-27 10:17:37,231 INFO L412 NwaCegarLoop]: 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-04-27 10:17:37,233 INFO L413 NwaCegarLoop]: 29 mSDtfsCounter, 23 mSDsluCounter, 7 mSDsCounter, 0 mSdLazyCounter, 28 mSolverCounterSat, 2 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.0s Time, 0 mProtectedPredicate, 0 mProtectedAction, 24 SdHoareTripleChecker+Valid, 36 SdHoareTripleChecker+Invalid, 30 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 2 IncrementalHoareTripleChecker+Valid, 28 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.0s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:37,233 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [24 Valid, 36 Invalid, 30 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [2 Valid, 28 Invalid, 0 Unknown, 0 Unchecked, 0.0s Time] [2022-04-27 10:17:37,234 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 80 states. [2022-04-27 10:17:37,291 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 80 to 62. [2022-04-27 10:17:37,291 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:37,291 INFO L82 GeneralOperation]: Start isEquivalent. First operand 80 states. Second operand has 62 states, 54 states have (on average 1.2222222222222223) internal successors, (66), 55 states have internal predecessors, (66), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:37,291 INFO L74 IsIncluded]: Start isIncluded. First operand 80 states. Second operand has 62 states, 54 states have (on average 1.2222222222222223) internal successors, (66), 55 states have internal predecessors, (66), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:37,291 INFO L87 Difference]: Start difference. First operand 80 states. Second operand has 62 states, 54 states have (on average 1.2222222222222223) internal successors, (66), 55 states have internal predecessors, (66), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:37,298 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:37,298 INFO L93 Difference]: Finished difference Result 80 states and 98 transitions. [2022-04-27 10:17:37,298 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 98 transitions. [2022-04-27 10:17:37,299 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:37,299 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:37,299 INFO L74 IsIncluded]: Start isIncluded. First operand has 62 states, 54 states have (on average 1.2222222222222223) internal successors, (66), 55 states have internal predecessors, (66), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 80 states. [2022-04-27 10:17:37,300 INFO L87 Difference]: Start difference. First operand has 62 states, 54 states have (on average 1.2222222222222223) internal successors, (66), 55 states have internal predecessors, (66), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 80 states. [2022-04-27 10:17:37,301 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:37,301 INFO L93 Difference]: Finished difference Result 80 states and 98 transitions. [2022-04-27 10:17:37,301 INFO L276 IsEmpty]: Start isEmpty. Operand 80 states and 98 transitions. [2022-04-27 10:17:37,301 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:37,301 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:37,301 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:37,301 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:37,302 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 62 states, 54 states have (on average 1.2222222222222223) internal successors, (66), 55 states have internal predecessors, (66), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:37,302 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 62 states to 62 states and 73 transitions. [2022-04-27 10:17:37,302 INFO L78 Accepts]: Start accepts. Automaton has 62 states and 73 transitions. Word has length 31 [2022-04-27 10:17:37,302 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:37,303 INFO L495 AbstractCegarLoop]: Abstraction has 62 states and 73 transitions. [2022-04-27 10:17:37,303 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 6.0) internal successors, (24), 3 states have internal predecessors, (24), 2 states have call successors, (3), 3 states have call predecessors, (3), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:37,303 INFO L276 IsEmpty]: Start isEmpty. Operand 62 states and 73 transitions. [2022-04-27 10:17:37,303 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 10:17:37,303 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:37,303 INFO L195 NwaCegarLoop]: trace histogram [2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:37,303 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8 [2022-04-27 10:17:37,303 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:37,304 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:37,304 INFO L85 PathProgramCache]: Analyzing trace with hash -405243253, now seen corresponding path program 1 times [2022-04-27 10:17:37,304 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:37,304 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1310205418] [2022-04-27 10:17:37,304 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:37,304 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:37,335 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:37,442 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:37,444 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:37,447 INFO L290 TraceCheckUtils]: 0: Hoare triple {4130#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {4115#true} is VALID [2022-04-27 10:17:37,447 INFO L290 TraceCheckUtils]: 1: Hoare triple {4115#true} assume true; {4115#true} is VALID [2022-04-27 10:17:37,447 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4115#true} {4115#true} #87#return; {4115#true} is VALID [2022-04-27 10:17:37,447 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 21 [2022-04-27 10:17:37,448 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:37,450 INFO L290 TraceCheckUtils]: 0: Hoare triple {4115#true} ~cond := #in~cond; {4115#true} is VALID [2022-04-27 10:17:37,451 INFO L290 TraceCheckUtils]: 1: Hoare triple {4115#true} assume !(0 == ~cond); {4115#true} is VALID [2022-04-27 10:17:37,451 INFO L290 TraceCheckUtils]: 2: Hoare triple {4115#true} assume true; {4115#true} is VALID [2022-04-27 10:17:37,451 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4115#true} {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #85#return; {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:37,452 INFO L272 TraceCheckUtils]: 0: Hoare triple {4115#true} call ULTIMATE.init(); {4130#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:37,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {4130#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {4115#true} is VALID [2022-04-27 10:17:37,452 INFO L290 TraceCheckUtils]: 2: Hoare triple {4115#true} assume true; {4115#true} is VALID [2022-04-27 10:17:37,452 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4115#true} {4115#true} #87#return; {4115#true} is VALID [2022-04-27 10:17:37,452 INFO L272 TraceCheckUtils]: 4: Hoare triple {4115#true} call #t~ret15 := main(); {4115#true} is VALID [2022-04-27 10:17:37,452 INFO L290 TraceCheckUtils]: 5: Hoare triple {4115#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {4120#(= main_~j~0 0)} is VALID [2022-04-27 10:17:37,453 INFO L290 TraceCheckUtils]: 6: Hoare triple {4120#(= main_~j~0 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4120#(= main_~j~0 0)} is VALID [2022-04-27 10:17:37,453 INFO L290 TraceCheckUtils]: 7: Hoare triple {4120#(= main_~j~0 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4121#(and (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:37,454 INFO L290 TraceCheckUtils]: 8: Hoare triple {4121#(and (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4121#(and (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:37,454 INFO L290 TraceCheckUtils]: 9: Hoare triple {4121#(and (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4122#(and (<= main_~j~0 2) (not (<= (+ (div main_~j~0 4294967296) 1) 0)))} is VALID [2022-04-27 10:17:37,455 INFO L290 TraceCheckUtils]: 10: Hoare triple {4122#(and (<= main_~j~0 2) (not (<= (+ (div main_~j~0 4294967296) 1) 0)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,455 INFO L290 TraceCheckUtils]: 11: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~j~0 := 1; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,456 INFO L290 TraceCheckUtils]: 12: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,456 INFO L290 TraceCheckUtils]: 13: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} #t~short10 := ~i~0 >= 0; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,456 INFO L290 TraceCheckUtils]: 14: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,457 INFO L290 TraceCheckUtils]: 15: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,457 INFO L290 TraceCheckUtils]: 16: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,457 INFO L290 TraceCheckUtils]: 17: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:37,458 INFO L290 TraceCheckUtils]: 19: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~k~0 := 1; {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:37,458 INFO L290 TraceCheckUtils]: 20: Hoare triple {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:37,459 INFO L272 TraceCheckUtils]: 21: Hoare triple {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4115#true} is VALID [2022-04-27 10:17:37,459 INFO L290 TraceCheckUtils]: 22: Hoare triple {4115#true} ~cond := #in~cond; {4115#true} is VALID [2022-04-27 10:17:37,459 INFO L290 TraceCheckUtils]: 23: Hoare triple {4115#true} assume !(0 == ~cond); {4115#true} is VALID [2022-04-27 10:17:37,459 INFO L290 TraceCheckUtils]: 24: Hoare triple {4115#true} assume true; {4115#true} is VALID [2022-04-27 10:17:37,459 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {4115#true} {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #85#return; {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:37,460 INFO L290 TraceCheckUtils]: 26: Hoare triple {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} havoc #t~mem13;havoc #t~mem14; {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:37,460 INFO L290 TraceCheckUtils]: 27: Hoare triple {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #t~post12 := ~k~0;~k~0 := 1 + #t~post12;havoc #t~post12; {4129#(and (<= (div main_~k~0 4294967296) 0) (<= main_~SIZE~0 (+ main_~k~0 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:37,461 INFO L290 TraceCheckUtils]: 28: Hoare triple {4129#(and (<= (div main_~k~0 4294967296) 0) (<= main_~SIZE~0 (+ main_~k~0 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4116#false} is VALID [2022-04-27 10:17:37,461 INFO L272 TraceCheckUtils]: 29: Hoare triple {4116#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4116#false} is VALID [2022-04-27 10:17:37,461 INFO L290 TraceCheckUtils]: 30: Hoare triple {4116#false} ~cond := #in~cond; {4116#false} is VALID [2022-04-27 10:17:37,461 INFO L290 TraceCheckUtils]: 31: Hoare triple {4116#false} assume 0 == ~cond; {4116#false} is VALID [2022-04-27 10:17:37,461 INFO L290 TraceCheckUtils]: 32: Hoare triple {4116#false} assume !false; {4116#false} is VALID [2022-04-27 10:17:37,462 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:17:37,462 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:37,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1310205418] [2022-04-27 10:17:37,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1310205418] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:37,462 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [473846869] [2022-04-27 10:17:37,462 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:37,462 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:37,462 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:37,480 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-04-27 10:17:37,513 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-04-27 10:17:37,521 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:37,522 INFO L263 TraceCheckSpWp]: Trace formula consists of 131 conjuncts, 12 conjunts are in the unsatisfiable core [2022-04-27 10:17:37,529 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:37,529 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:38,038 INFO L272 TraceCheckUtils]: 0: Hoare triple {4115#true} call ULTIMATE.init(); {4115#true} is VALID [2022-04-27 10:17:38,039 INFO L290 TraceCheckUtils]: 1: Hoare triple {4115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {4115#true} is VALID [2022-04-27 10:17:38,039 INFO L290 TraceCheckUtils]: 2: Hoare triple {4115#true} assume true; {4115#true} is VALID [2022-04-27 10:17:38,039 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4115#true} {4115#true} #87#return; {4115#true} is VALID [2022-04-27 10:17:38,039 INFO L272 TraceCheckUtils]: 4: Hoare triple {4115#true} call #t~ret15 := main(); {4115#true} is VALID [2022-04-27 10:17:38,039 INFO L290 TraceCheckUtils]: 5: Hoare triple {4115#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {4120#(= main_~j~0 0)} is VALID [2022-04-27 10:17:38,039 INFO L290 TraceCheckUtils]: 6: Hoare triple {4120#(= main_~j~0 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4120#(= main_~j~0 0)} is VALID [2022-04-27 10:17:38,040 INFO L290 TraceCheckUtils]: 7: Hoare triple {4120#(= main_~j~0 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4121#(and (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:38,040 INFO L290 TraceCheckUtils]: 8: Hoare triple {4121#(and (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4121#(and (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:38,041 INFO L290 TraceCheckUtils]: 9: Hoare triple {4121#(and (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4161#(and (<= main_~j~0 2) (<= 2 main_~j~0))} is VALID [2022-04-27 10:17:38,041 INFO L290 TraceCheckUtils]: 10: Hoare triple {4161#(and (<= main_~j~0 2) (<= 2 main_~j~0))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,042 INFO L290 TraceCheckUtils]: 11: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~j~0 := 1; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,042 INFO L290 TraceCheckUtils]: 12: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,042 INFO L290 TraceCheckUtils]: 13: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} #t~short10 := ~i~0 >= 0; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,042 INFO L290 TraceCheckUtils]: 14: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,043 INFO L290 TraceCheckUtils]: 15: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,043 INFO L290 TraceCheckUtils]: 16: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,043 INFO L290 TraceCheckUtils]: 17: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,044 INFO L290 TraceCheckUtils]: 18: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,044 INFO L290 TraceCheckUtils]: 19: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~k~0 := 1; {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:38,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:38,045 INFO L272 TraceCheckUtils]: 21: Hoare triple {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4115#true} is VALID [2022-04-27 10:17:38,045 INFO L290 TraceCheckUtils]: 22: Hoare triple {4115#true} ~cond := #in~cond; {4115#true} is VALID [2022-04-27 10:17:38,045 INFO L290 TraceCheckUtils]: 23: Hoare triple {4115#true} assume !(0 == ~cond); {4115#true} is VALID [2022-04-27 10:17:38,045 INFO L290 TraceCheckUtils]: 24: Hoare triple {4115#true} assume true; {4115#true} is VALID [2022-04-27 10:17:38,045 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {4115#true} {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #85#return; {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:38,046 INFO L290 TraceCheckUtils]: 26: Hoare triple {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} havoc #t~mem13;havoc #t~mem14; {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:38,046 INFO L290 TraceCheckUtils]: 27: Hoare triple {4124#(and (= (+ (- 1) main_~k~0) 0) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} #t~post12 := ~k~0;~k~0 := 1 + #t~post12;havoc #t~post12; {4216#(and (= main_~k~0 2) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} is VALID [2022-04-27 10:17:38,047 INFO L290 TraceCheckUtils]: 28: Hoare triple {4216#(and (= main_~k~0 2) (<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4116#false} is VALID [2022-04-27 10:17:38,047 INFO L272 TraceCheckUtils]: 29: Hoare triple {4116#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4116#false} is VALID [2022-04-27 10:17:38,047 INFO L290 TraceCheckUtils]: 30: Hoare triple {4116#false} ~cond := #in~cond; {4116#false} is VALID [2022-04-27 10:17:38,047 INFO L290 TraceCheckUtils]: 31: Hoare triple {4116#false} assume 0 == ~cond; {4116#false} is VALID [2022-04-27 10:17:38,047 INFO L290 TraceCheckUtils]: 32: Hoare triple {4116#false} assume !false; {4116#false} is VALID [2022-04-27 10:17:38,047 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:17:38,047 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:38,431 INFO L290 TraceCheckUtils]: 32: Hoare triple {4116#false} assume !false; {4116#false} is VALID [2022-04-27 10:17:38,432 INFO L290 TraceCheckUtils]: 31: Hoare triple {4116#false} assume 0 == ~cond; {4116#false} is VALID [2022-04-27 10:17:38,432 INFO L290 TraceCheckUtils]: 30: Hoare triple {4116#false} ~cond := #in~cond; {4116#false} is VALID [2022-04-27 10:17:38,432 INFO L272 TraceCheckUtils]: 29: Hoare triple {4116#false} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4116#false} is VALID [2022-04-27 10:17:38,432 INFO L290 TraceCheckUtils]: 28: Hoare triple {4244#(not (< (mod main_~k~0 4294967296) (mod main_~SIZE~0 4294967296)))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4116#false} is VALID [2022-04-27 10:17:38,433 INFO L290 TraceCheckUtils]: 27: Hoare triple {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} #t~post12 := ~k~0;~k~0 := 1 + #t~post12;havoc #t~post12; {4244#(not (< (mod main_~k~0 4294967296) (mod main_~SIZE~0 4294967296)))} is VALID [2022-04-27 10:17:38,433 INFO L290 TraceCheckUtils]: 26: Hoare triple {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} havoc #t~mem13;havoc #t~mem14; {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} is VALID [2022-04-27 10:17:38,434 INFO L284 TraceCheckUtils]: 25: Hoare quadruple {4115#true} {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} #85#return; {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} is VALID [2022-04-27 10:17:38,434 INFO L290 TraceCheckUtils]: 24: Hoare triple {4115#true} assume true; {4115#true} is VALID [2022-04-27 10:17:38,434 INFO L290 TraceCheckUtils]: 23: Hoare triple {4115#true} assume !(0 == ~cond); {4115#true} is VALID [2022-04-27 10:17:38,434 INFO L290 TraceCheckUtils]: 22: Hoare triple {4115#true} ~cond := #in~cond; {4115#true} is VALID [2022-04-27 10:17:38,434 INFO L272 TraceCheckUtils]: 21: Hoare triple {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4115#true} is VALID [2022-04-27 10:17:38,434 INFO L290 TraceCheckUtils]: 20: Hoare triple {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} is VALID [2022-04-27 10:17:38,435 INFO L290 TraceCheckUtils]: 19: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~k~0 := 1; {4248#(not (< (mod (+ main_~k~0 1) 4294967296) (mod main_~SIZE~0 4294967296)))} is VALID [2022-04-27 10:17:38,435 INFO L290 TraceCheckUtils]: 18: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,435 INFO L290 TraceCheckUtils]: 17: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,435 INFO L290 TraceCheckUtils]: 16: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,436 INFO L290 TraceCheckUtils]: 15: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,436 INFO L290 TraceCheckUtils]: 14: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,436 INFO L290 TraceCheckUtils]: 13: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} #t~short10 := ~i~0 >= 0; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,437 INFO L290 TraceCheckUtils]: 12: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,437 INFO L290 TraceCheckUtils]: 11: Hoare triple {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} ~j~0 := 1; {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,437 INFO L290 TraceCheckUtils]: 10: Hoare triple {4300#(<= 0 (div (+ 2 (* (- 1) (mod main_~j~0 4294967296))) 4294967296))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4123#(<= main_~SIZE~0 (+ 2 (* (div main_~SIZE~0 4294967296) 4294967296)))} is VALID [2022-04-27 10:17:38,438 INFO L290 TraceCheckUtils]: 9: Hoare triple {4304#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 2) 4294967296))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4300#(<= 0 (div (+ 2 (* (- 1) (mod main_~j~0 4294967296))) 4294967296))} is VALID [2022-04-27 10:17:38,438 INFO L290 TraceCheckUtils]: 8: Hoare triple {4304#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 2) 4294967296))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4304#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 2) 4294967296))} is VALID [2022-04-27 10:17:38,439 INFO L290 TraceCheckUtils]: 7: Hoare triple {4311#(<= 0 (div (+ 2 (* (- 1) (mod (+ main_~j~0 2) 4294967296))) 4294967296))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4304#(<= 0 (div (+ (* (- 1) (mod (+ main_~j~0 1) 4294967296)) 2) 4294967296))} is VALID [2022-04-27 10:17:38,440 INFO L290 TraceCheckUtils]: 6: Hoare triple {4311#(<= 0 (div (+ 2 (* (- 1) (mod (+ main_~j~0 2) 4294967296))) 4294967296))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4311#(<= 0 (div (+ 2 (* (- 1) (mod (+ main_~j~0 2) 4294967296))) 4294967296))} is VALID [2022-04-27 10:17:38,440 INFO L290 TraceCheckUtils]: 5: Hoare triple {4115#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {4311#(<= 0 (div (+ 2 (* (- 1) (mod (+ main_~j~0 2) 4294967296))) 4294967296))} is VALID [2022-04-27 10:17:38,440 INFO L272 TraceCheckUtils]: 4: Hoare triple {4115#true} call #t~ret15 := main(); {4115#true} is VALID [2022-04-27 10:17:38,440 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4115#true} {4115#true} #87#return; {4115#true} is VALID [2022-04-27 10:17:38,440 INFO L290 TraceCheckUtils]: 2: Hoare triple {4115#true} assume true; {4115#true} is VALID [2022-04-27 10:17:38,440 INFO L290 TraceCheckUtils]: 1: Hoare triple {4115#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {4115#true} is VALID [2022-04-27 10:17:38,441 INFO L272 TraceCheckUtils]: 0: Hoare triple {4115#true} call ULTIMATE.init(); {4115#true} is VALID [2022-04-27 10:17:38,441 INFO L134 CoverageAnalysis]: Checked inductivity of 9 backedges. 3 proven. 5 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:17:38,441 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [473846869] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:38,441 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:38,441 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 8, 8] total 16 [2022-04-27 10:17:38,441 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [892764983] [2022-04-27 10:17:38,441 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:38,442 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.6875) internal successors, (43), 15 states have internal predecessors, (43), 4 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-27 10:17:38,442 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:38,442 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 16 states, 16 states have (on average 2.6875) internal successors, (43), 15 states have internal predecessors, (43), 4 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:38,479 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 52 edges. 52 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:38,479 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 16 states [2022-04-27 10:17:38,479 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:38,480 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 16 interpolants. [2022-04-27 10:17:38,480 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=46, Invalid=194, Unknown=0, NotChecked=0, Total=240 [2022-04-27 10:17:38,480 INFO L87 Difference]: Start difference. First operand 62 states and 73 transitions. Second operand has 16 states, 16 states have (on average 2.6875) internal successors, (43), 15 states have internal predecessors, (43), 4 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:39,265 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:39,265 INFO L93 Difference]: Finished difference Result 94 states and 110 transitions. [2022-04-27 10:17:39,266 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-27 10:17:39,266 INFO L78 Accepts]: Start accepts. Automaton has has 16 states, 16 states have (on average 2.6875) internal successors, (43), 15 states have internal predecessors, (43), 4 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) Word has length 33 [2022-04-27 10:17:39,266 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:17:39,266 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.6875) internal successors, (43), 15 states have internal predecessors, (43), 4 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:39,267 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 81 transitions. [2022-04-27 10:17:39,267 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 16 states, 16 states have (on average 2.6875) internal successors, (43), 15 states have internal predecessors, (43), 4 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:39,268 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 81 transitions. [2022-04-27 10:17:39,268 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 81 transitions. [2022-04-27 10:17:39,318 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 81 edges. 81 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:39,319 INFO L225 Difference]: With dead ends: 94 [2022-04-27 10:17:39,319 INFO L226 Difference]: Without dead ends: 67 [2022-04-27 10:17:39,322 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 84 GetRequests, 59 SyntacticMatches, 4 SemanticMatches, 21 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 75 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=108, Invalid=398, Unknown=0, NotChecked=0, Total=506 [2022-04-27 10:17:39,322 INFO L413 NwaCegarLoop]: 27 mSDtfsCounter, 133 mSDsluCounter, 32 mSDsCounter, 0 mSdLazyCounter, 257 mSolverCounterSat, 35 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 134 SdHoareTripleChecker+Valid, 59 SdHoareTripleChecker+Invalid, 292 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 35 IncrementalHoareTripleChecker+Valid, 257 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-27 10:17:39,323 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [134 Valid, 59 Invalid, 292 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [35 Valid, 257 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-27 10:17:39,323 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-27 10:17:39,379 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 55. [2022-04-27 10:17:39,379 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:17:39,380 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 55 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:39,380 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 55 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:39,380 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 55 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:39,381 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:39,381 INFO L93 Difference]: Finished difference Result 67 states and 78 transitions. [2022-04-27 10:17:39,381 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 78 transitions. [2022-04-27 10:17:39,381 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:39,381 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:39,382 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 67 states. [2022-04-27 10:17:39,382 INFO L87 Difference]: Start difference. First operand has 55 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 67 states. [2022-04-27 10:17:39,383 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:17:39,383 INFO L93 Difference]: Finished difference Result 67 states and 78 transitions. [2022-04-27 10:17:39,383 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 78 transitions. [2022-04-27 10:17:39,383 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:17:39,384 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:17:39,384 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:17:39,384 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:17:39,384 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 47 states have (on average 1.1914893617021276) internal successors, (56), 48 states have internal predecessors, (56), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:39,384 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 63 transitions. [2022-04-27 10:17:39,385 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 63 transitions. Word has length 33 [2022-04-27 10:17:39,385 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:17:39,385 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 63 transitions. [2022-04-27 10:17:39,385 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 16 states, 16 states have (on average 2.6875) internal successors, (43), 15 states have internal predecessors, (43), 4 states have call successors, (6), 3 states have call predecessors, (6), 1 states have return successors, (3), 3 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:17:39,385 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 63 transitions. [2022-04-27 10:17:39,386 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 34 [2022-04-27 10:17:39,386 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:17:39,386 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:17:39,405 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-04-27 10:17:39,605 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:39,605 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:17:39,605 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:17:39,605 INFO L85 PathProgramCache]: Analyzing trace with hash 1306424002, now seen corresponding path program 4 times [2022-04-27 10:17:39,605 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:17:39,605 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [817326891] [2022-04-27 10:17:39,606 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:17:39,606 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:17:39,658 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:40,100 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:17:40,102 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:40,105 INFO L290 TraceCheckUtils]: 0: Hoare triple {4709#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {4688#true} is VALID [2022-04-27 10:17:40,105 INFO L290 TraceCheckUtils]: 1: Hoare triple {4688#true} assume true; {4688#true} is VALID [2022-04-27 10:17:40,105 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4688#true} {4688#true} #87#return; {4688#true} is VALID [2022-04-27 10:17:40,106 INFO L272 TraceCheckUtils]: 0: Hoare triple {4688#true} call ULTIMATE.init(); {4709#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:17:40,106 INFO L290 TraceCheckUtils]: 1: Hoare triple {4709#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {4688#true} is VALID [2022-04-27 10:17:40,106 INFO L290 TraceCheckUtils]: 2: Hoare triple {4688#true} assume true; {4688#true} is VALID [2022-04-27 10:17:40,106 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4688#true} {4688#true} #87#return; {4688#true} is VALID [2022-04-27 10:17:40,106 INFO L272 TraceCheckUtils]: 4: Hoare triple {4688#true} call #t~ret15 := main(); {4688#true} is VALID [2022-04-27 10:17:40,107 INFO L290 TraceCheckUtils]: 5: Hoare triple {4688#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {4693#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:17:40,107 INFO L290 TraceCheckUtils]: 6: Hoare triple {4693#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4693#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:17:40,108 INFO L290 TraceCheckUtils]: 7: Hoare triple {4693#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4694#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:40,108 INFO L290 TraceCheckUtils]: 8: Hoare triple {4694#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4694#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:40,108 INFO L290 TraceCheckUtils]: 9: Hoare triple {4694#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4695#(and (= |main_~#v~0.offset| 0) (not (= (+ |main_~#v~0.offset| (* main_~j~0 4)) 0)))} is VALID [2022-04-27 10:17:40,109 INFO L290 TraceCheckUtils]: 10: Hoare triple {4695#(and (= |main_~#v~0.offset| 0) (not (= (+ |main_~#v~0.offset| (* main_~j~0 4)) 0)))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,109 INFO L290 TraceCheckUtils]: 11: Hoare triple {4696#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,109 INFO L290 TraceCheckUtils]: 12: Hoare triple {4696#(= |main_~#v~0.offset| 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,110 INFO L290 TraceCheckUtils]: 13: Hoare triple {4696#(= |main_~#v~0.offset| 0)} ~j~0 := 1; {4694#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:40,110 INFO L290 TraceCheckUtils]: 14: Hoare triple {4694#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4697#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ main_~i~0 1) main_~j~0))} is VALID [2022-04-27 10:17:40,111 INFO L290 TraceCheckUtils]: 15: Hoare triple {4697#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ main_~i~0 1) main_~j~0))} #t~short10 := ~i~0 >= 0; {4698#(and (= (+ (- 1) main_~j~0) 0) (or (not |main_#t~short10|) (and (= |main_~#v~0.offset| 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))))} is VALID [2022-04-27 10:17:40,111 INFO L290 TraceCheckUtils]: 16: Hoare triple {4698#(and (= (+ (- 1) main_~j~0) 0) (or (not |main_#t~short10|) (and (= |main_~#v~0.offset| 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4699#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} is VALID [2022-04-27 10:17:40,112 INFO L290 TraceCheckUtils]: 17: Hoare triple {4699#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4700#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))} is VALID [2022-04-27 10:17:40,112 INFO L290 TraceCheckUtils]: 18: Hoare triple {4700#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4701#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:40,113 INFO L290 TraceCheckUtils]: 19: Hoare triple {4701#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4702#(and (= |main_~#v~0.offset| 0) (= (* main_~j~0 4) 8) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))))} is VALID [2022-04-27 10:17:40,114 INFO L290 TraceCheckUtils]: 20: Hoare triple {4702#(and (= |main_~#v~0.offset| 0) (= (* main_~j~0 4) 8) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:40,114 INFO L290 TraceCheckUtils]: 21: Hoare triple {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} #t~short10 := ~i~0 >= 0; {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:40,115 INFO L290 TraceCheckUtils]: 22: Hoare triple {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:40,115 INFO L290 TraceCheckUtils]: 23: Hoare triple {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:40,116 INFO L290 TraceCheckUtils]: 24: Hoare triple {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:40,116 INFO L290 TraceCheckUtils]: 25: Hoare triple {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:40,116 INFO L290 TraceCheckUtils]: 26: Hoare triple {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:40,117 INFO L290 TraceCheckUtils]: 27: Hoare triple {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} ~k~0 := 1; {4705#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} is VALID [2022-04-27 10:17:40,117 INFO L290 TraceCheckUtils]: 28: Hoare triple {4705#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4706#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:17:40,118 INFO L272 TraceCheckUtils]: 29: Hoare triple {4706#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4707#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:17:40,118 INFO L290 TraceCheckUtils]: 30: Hoare triple {4707#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {4708#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:17:40,119 INFO L290 TraceCheckUtils]: 31: Hoare triple {4708#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {4689#false} is VALID [2022-04-27 10:17:40,119 INFO L290 TraceCheckUtils]: 32: Hoare triple {4689#false} assume !false; {4689#false} is VALID [2022-04-27 10:17:40,119 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 17 refuted. 0 times theorem prover too weak. 0 trivial. 0 not checked. [2022-04-27 10:17:40,119 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:17:40,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [817326891] [2022-04-27 10:17:40,119 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [817326891] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:17:40,119 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1208308820] [2022-04-27 10:17:40,119 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-27 10:17:40,119 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:17:40,119 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:17:40,120 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-04-27 10:17:40,121 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-04-27 10:17:40,167 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-27 10:17:40,167 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:17:40,167 INFO L263 TraceCheckSpWp]: Trace formula consists of 140 conjuncts, 28 conjunts are in the unsatisfiable core [2022-04-27 10:17:40,180 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:17:40,181 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:17:40,454 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:40,455 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 28 treesize of output 27 [2022-04-27 10:17:40,600 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:40,600 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:40,601 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:17:40,603 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:40,603 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 3 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 27 treesize of output 29 [2022-04-27 10:17:40,661 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:17:40,661 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 26 treesize of output 10 [2022-04-27 10:17:40,720 INFO L272 TraceCheckUtils]: 0: Hoare triple {4688#true} call ULTIMATE.init(); {4688#true} is VALID [2022-04-27 10:17:40,720 INFO L290 TraceCheckUtils]: 1: Hoare triple {4688#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {4688#true} is VALID [2022-04-27 10:17:40,720 INFO L290 TraceCheckUtils]: 2: Hoare triple {4688#true} assume true; {4688#true} is VALID [2022-04-27 10:17:40,720 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4688#true} {4688#true} #87#return; {4688#true} is VALID [2022-04-27 10:17:40,720 INFO L272 TraceCheckUtils]: 4: Hoare triple {4688#true} call #t~ret15 := main(); {4688#true} is VALID [2022-04-27 10:17:40,721 INFO L290 TraceCheckUtils]: 5: Hoare triple {4688#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,721 INFO L290 TraceCheckUtils]: 6: Hoare triple {4696#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,721 INFO L290 TraceCheckUtils]: 7: Hoare triple {4696#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,721 INFO L290 TraceCheckUtils]: 8: Hoare triple {4696#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,722 INFO L290 TraceCheckUtils]: 9: Hoare triple {4696#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,722 INFO L290 TraceCheckUtils]: 10: Hoare triple {4696#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,722 INFO L290 TraceCheckUtils]: 11: Hoare triple {4696#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,722 INFO L290 TraceCheckUtils]: 12: Hoare triple {4696#(= |main_~#v~0.offset| 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4696#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:17:40,724 INFO L290 TraceCheckUtils]: 13: Hoare triple {4696#(= |main_~#v~0.offset| 0)} ~j~0 := 1; {4694#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:17:40,724 INFO L290 TraceCheckUtils]: 14: Hoare triple {4694#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4697#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ main_~i~0 1) main_~j~0))} is VALID [2022-04-27 10:17:40,725 INFO L290 TraceCheckUtils]: 15: Hoare triple {4697#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ main_~i~0 1) main_~j~0))} #t~short10 := ~i~0 >= 0; {4758#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ main_~i~0 1) main_~j~0) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} is VALID [2022-04-27 10:17:40,725 INFO L290 TraceCheckUtils]: 16: Hoare triple {4758#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ main_~i~0 1) main_~j~0) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4699#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} is VALID [2022-04-27 10:17:40,726 INFO L290 TraceCheckUtils]: 17: Hoare triple {4699#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4700#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))} is VALID [2022-04-27 10:17:40,727 INFO L290 TraceCheckUtils]: 18: Hoare triple {4700#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0) (<= (+ main_~i~0 1) main_~j~0))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4701#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:40,727 INFO L290 TraceCheckUtils]: 19: Hoare triple {4701#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4702#(and (= |main_~#v~0.offset| 0) (= (* main_~j~0 4) 8) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))))} is VALID [2022-04-27 10:17:40,728 INFO L290 TraceCheckUtils]: 20: Hoare triple {4702#(and (= |main_~#v~0.offset| 0) (= (* main_~j~0 4) 8) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:40,728 INFO L290 TraceCheckUtils]: 21: Hoare triple {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} #t~short10 := ~i~0 >= 0; {4777#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) |main_#t~short10| (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:40,729 INFO L290 TraceCheckUtils]: 22: Hoare triple {4777#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) |main_#t~short10| (= 4 (* main_~i~0 4)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:40,729 INFO L290 TraceCheckUtils]: 23: Hoare triple {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:17:40,730 INFO L290 TraceCheckUtils]: 24: Hoare triple {4703#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:40,730 INFO L290 TraceCheckUtils]: 25: Hoare triple {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:40,730 INFO L290 TraceCheckUtils]: 26: Hoare triple {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:40,731 INFO L290 TraceCheckUtils]: 27: Hoare triple {4704#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} ~k~0 := 1; {4705#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} is VALID [2022-04-27 10:17:40,731 INFO L290 TraceCheckUtils]: 28: Hoare triple {4705#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4706#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:17:40,732 INFO L272 TraceCheckUtils]: 29: Hoare triple {4706#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4802#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:40,732 INFO L290 TraceCheckUtils]: 30: Hoare triple {4802#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4806#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:40,732 INFO L290 TraceCheckUtils]: 31: Hoare triple {4806#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4689#false} is VALID [2022-04-27 10:17:40,732 INFO L290 TraceCheckUtils]: 32: Hoare triple {4689#false} assume !false; {4689#false} is VALID [2022-04-27 10:17:40,732 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-27 10:17:40,732 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:17:45,324 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 57 treesize of output 51 [2022-04-27 10:17:45,370 INFO L356 Elim1Store]: treesize reduction 16, result has 56.8 percent of original size [2022-04-27 10:17:45,371 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 373 treesize of output 363 [2022-04-27 10:17:48,449 INFO L290 TraceCheckUtils]: 32: Hoare triple {4689#false} assume !false; {4689#false} is VALID [2022-04-27 10:17:48,450 INFO L290 TraceCheckUtils]: 31: Hoare triple {4806#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {4689#false} is VALID [2022-04-27 10:17:48,450 INFO L290 TraceCheckUtils]: 30: Hoare triple {4802#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {4806#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:17:48,451 INFO L272 TraceCheckUtils]: 29: Hoare triple {4706#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {4802#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:17:48,451 INFO L290 TraceCheckUtils]: 28: Hoare triple {4825#(<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {4706#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:17:48,452 INFO L290 TraceCheckUtils]: 27: Hoare triple {4829#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} ~k~0 := 1; {4825#(<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4))))} is VALID [2022-04-27 10:17:48,452 INFO L290 TraceCheckUtils]: 26: Hoare triple {4829#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4829#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:48,452 INFO L290 TraceCheckUtils]: 25: Hoare triple {4829#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4829#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:48,453 INFO L290 TraceCheckUtils]: 24: Hoare triple {4839#(forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4829#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:17:48,453 INFO L290 TraceCheckUtils]: 23: Hoare triple {4839#(forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4))))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4839#(forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:48,454 INFO L290 TraceCheckUtils]: 22: Hoare triple {4846#(or (not |main_#t~short10|) (forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4)))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4839#(forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:17:48,454 INFO L290 TraceCheckUtils]: 21: Hoare triple {4850#(or (not (<= 0 main_~i~0)) (forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4)))))} #t~short10 := ~i~0 >= 0; {4846#(or (not |main_#t~short10|) (forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4)))))} is VALID [2022-04-27 10:17:48,456 INFO L290 TraceCheckUtils]: 20: Hoare triple {4854#(or (not (<= 1 main_~j~0)) (forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4)))))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4850#(or (not (<= 0 main_~i~0)) (forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4)))))} is VALID [2022-04-27 10:17:48,457 INFO L290 TraceCheckUtils]: 19: Hoare triple {4858#(or (not (<= 0 main_~j~0)) (forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) (+ |main_~#v~0.offset| 4)))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {4854#(or (not (<= 1 main_~j~0)) (forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)) v_ArrVal_149) (+ |main_~#v~0.offset| 4)))))} is VALID [2022-04-27 10:17:48,458 INFO L290 TraceCheckUtils]: 18: Hoare triple {4862#(or (not (<= 0 main_~j~0)) (forall ((v_ArrVal_147 Int) (v_ArrVal_149 Int)) (or (not (<= main_~key~0 v_ArrVal_147)) (<= (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_147) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) |main_~#v~0.offset|) (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_147) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) (+ |main_~#v~0.offset| 4))))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {4858#(or (not (<= 0 main_~j~0)) (forall ((v_ArrVal_149 Int)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) (+ |main_~#v~0.offset| 4)))))} is VALID [2022-04-27 10:17:48,459 INFO L290 TraceCheckUtils]: 17: Hoare triple {4866#(or (not (<= 0 main_~j~0)) |main_#t~short10| (forall ((v_ArrVal_147 Int) (v_ArrVal_149 Int)) (or (not (<= main_~key~0 v_ArrVal_147)) (<= (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_147) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) |main_~#v~0.offset|) (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_147) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) (+ |main_~#v~0.offset| 4))))))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {4862#(or (not (<= 0 main_~j~0)) (forall ((v_ArrVal_147 Int) (v_ArrVal_149 Int)) (or (not (<= main_~key~0 v_ArrVal_147)) (<= (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_147) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) |main_~#v~0.offset|) (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_147) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) (+ |main_~#v~0.offset| 4))))))} is VALID [2022-04-27 10:17:48,460 INFO L290 TraceCheckUtils]: 16: Hoare triple {4870#(or (not (<= 0 main_~j~0)) (and (not (= (* main_~j~0 4) 0)) (= 0 (* main_~i~0 4))) (not |main_#t~short10|))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {4866#(or (not (<= 0 main_~j~0)) |main_#t~short10| (forall ((v_ArrVal_147 Int) (v_ArrVal_149 Int)) (or (not (<= main_~key~0 v_ArrVal_147)) (<= (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_147) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) |main_~#v~0.offset|) (select (store (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_147) (+ |main_~#v~0.offset| (* main_~j~0 4) 4) v_ArrVal_149) (+ |main_~#v~0.offset| 4))))))} is VALID [2022-04-27 10:17:48,460 INFO L290 TraceCheckUtils]: 15: Hoare triple {4874#(or (not (<= 0 main_~j~0)) (not (<= 0 main_~i~0)) (and (not (= (* main_~j~0 4) 0)) (= 0 (* main_~i~0 4))))} #t~short10 := ~i~0 >= 0; {4870#(or (not (<= 0 main_~j~0)) (and (not (= (* main_~j~0 4) 0)) (= 0 (* main_~i~0 4))) (not |main_#t~short10|))} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 14: Hoare triple {4878#(<= main_~j~0 1)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {4874#(or (not (<= 0 main_~j~0)) (not (<= 0 main_~i~0)) (and (not (= (* main_~j~0 4) 0)) (= 0 (* main_~i~0 4))))} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 13: Hoare triple {4688#true} ~j~0 := 1; {4878#(<= main_~j~0 1)} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 12: Hoare triple {4688#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {4688#true} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 11: Hoare triple {4688#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4688#true} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 10: Hoare triple {4688#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4688#true} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 9: Hoare triple {4688#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4688#true} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 8: Hoare triple {4688#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4688#true} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 7: Hoare triple {4688#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {4688#true} is VALID [2022-04-27 10:17:48,461 INFO L290 TraceCheckUtils]: 6: Hoare triple {4688#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {4688#true} is VALID [2022-04-27 10:17:48,462 INFO L290 TraceCheckUtils]: 5: Hoare triple {4688#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {4688#true} is VALID [2022-04-27 10:17:48,462 INFO L272 TraceCheckUtils]: 4: Hoare triple {4688#true} call #t~ret15 := main(); {4688#true} is VALID [2022-04-27 10:17:48,462 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4688#true} {4688#true} #87#return; {4688#true} is VALID [2022-04-27 10:17:48,462 INFO L290 TraceCheckUtils]: 2: Hoare triple {4688#true} assume true; {4688#true} is VALID [2022-04-27 10:17:48,462 INFO L290 TraceCheckUtils]: 1: Hoare triple {4688#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {4688#true} is VALID [2022-04-27 10:17:48,462 INFO L272 TraceCheckUtils]: 0: Hoare triple {4688#true} call ULTIMATE.init(); {4688#true} is VALID [2022-04-27 10:17:48,462 INFO L134 CoverageAnalysis]: Checked inductivity of 17 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-27 10:17:48,462 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1208308820] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:17:48,462 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:17:48,462 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [19, 17, 17] total 35 [2022-04-27 10:17:48,463 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1712739892] [2022-04-27 10:17:48,463 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:17:48,463 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 32 states have internal predecessors, (58), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 33 [2022-04-27 10:17:48,463 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:17:48,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 35 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 32 states have internal predecessors, (58), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:17:48,516 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 64 edges. 64 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:17:48,516 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 35 states [2022-04-27 10:17:48,516 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:17:48,516 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 35 interpolants. [2022-04-27 10:17:48,517 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=148, Invalid=1040, Unknown=2, NotChecked=0, Total=1190 [2022-04-27 10:17:48,517 INFO L87 Difference]: Start difference. First operand 55 states and 63 transitions. Second operand has 35 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 32 states have internal predecessors, (58), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:01,206 WARN L833 $PredicateComparison]: unable to prove that (and (or (not (<= 0 c_main_~i~0)) (forall ((v_ArrVal_149 Int)) (let ((.cse0 (store (select |c_#memory_int| |c_main_~#v~0.base|) (+ (* c_main_~i~0 4) |c_main_~#v~0.offset| 4) v_ArrVal_149))) (<= (select .cse0 |c_main_~#v~0.offset|) (select .cse0 (+ |c_main_~#v~0.offset| 4)))))) (= |c_#NULL.base| |c_old(#NULL.base)|) (let ((.cse1 (select |c_#memory_int| |c_main_~#v~0.base|))) (<= (select .cse1 0) (select .cse1 (+ |c_main_~#v~0.offset| 4)))) (or (forall ((v_ArrVal_149 Int)) (let ((.cse2 (store (select |c_#memory_int| |c_main_~#v~0.base|) (+ |c_main_~#v~0.offset| (* c_main_~j~0 4)) v_ArrVal_149))) (<= (select .cse2 |c_main_~#v~0.offset|) (select .cse2 (+ |c_main_~#v~0.offset| 4))))) (not (<= 1 c_main_~j~0))) (= |c_main_~#v~0.offset| 0) (or (not (<= 0 c_main_~j~0)) (forall ((v_ArrVal_149 Int)) (let ((.cse3 (store (select |c_#memory_int| |c_main_~#v~0.base|) (+ |c_main_~#v~0.offset| (* c_main_~j~0 4) 4) v_ArrVal_149))) (<= (select .cse3 |c_main_~#v~0.offset|) (select .cse3 (+ |c_main_~#v~0.offset| 4)))))) (= |c_#NULL.offset| |c_old(#NULL.offset)|) (not (= (+ |c_main_~#v~0.offset| (* c_main_~j~0 4)) 0))) is different from false [2022-04-27 10:18:06,217 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:06,217 INFO L93 Difference]: Finished difference Result 151 states and 186 transitions. [2022-04-27 10:18:06,217 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 46 states. [2022-04-27 10:18:06,217 INFO L78 Accepts]: Start accepts. Automaton has has 35 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 32 states have internal predecessors, (58), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 33 [2022-04-27 10:18:06,218 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:18:06,218 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 32 states have internal predecessors, (58), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:06,219 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 155 transitions. [2022-04-27 10:18:06,219 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 35 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 32 states have internal predecessors, (58), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:06,221 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 46 states to 46 states and 155 transitions. [2022-04-27 10:18:06,221 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 46 states and 155 transitions. [2022-04-27 10:18:06,356 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 155 edges. 155 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:06,358 INFO L225 Difference]: With dead ends: 151 [2022-04-27 10:18:06,358 INFO L226 Difference]: Without dead ends: 120 [2022-04-27 10:18:06,359 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 51 SyntacticMatches, 11 SemanticMatches, 69 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 1405 ImplicationChecksByTransitivity, 22.6s TimeCoverageRelationStatistics Valid=629, Invalid=4197, Unknown=8, NotChecked=136, Total=4970 [2022-04-27 10:18:06,359 INFO L413 NwaCegarLoop]: 15 mSDtfsCounter, 124 mSDsluCounter, 129 mSDsCounter, 0 mSdLazyCounter, 634 mSolverCounterSat, 108 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.7s Time, 0 mProtectedPredicate, 0 mProtectedAction, 125 SdHoareTripleChecker+Valid, 144 SdHoareTripleChecker+Invalid, 1189 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 108 IncrementalHoareTripleChecker+Valid, 634 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 447 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-27 10:18:06,359 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [125 Valid, 144 Invalid, 1189 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [108 Valid, 634 Invalid, 0 Unknown, 447 Unchecked, 0.7s Time] [2022-04-27 10:18:06,360 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 120 states. [2022-04-27 10:18:06,434 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 120 to 73. [2022-04-27 10:18:06,435 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:18:06,435 INFO L82 GeneralOperation]: Start isEquivalent. First operand 120 states. Second operand has 73 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 66 states have internal predecessors, (81), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:18:06,435 INFO L74 IsIncluded]: Start isIncluded. First operand 120 states. Second operand has 73 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 66 states have internal predecessors, (81), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:18:06,435 INFO L87 Difference]: Start difference. First operand 120 states. Second operand has 73 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 66 states have internal predecessors, (81), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:18:06,441 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:06,441 INFO L93 Difference]: Finished difference Result 120 states and 148 transitions. [2022-04-27 10:18:06,441 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 148 transitions. [2022-04-27 10:18:06,441 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:06,441 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:06,441 INFO L74 IsIncluded]: Start isIncluded. First operand has 73 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 66 states have internal predecessors, (81), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 120 states. [2022-04-27 10:18:06,441 INFO L87 Difference]: Start difference. First operand has 73 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 66 states have internal predecessors, (81), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 120 states. [2022-04-27 10:18:06,443 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:06,443 INFO L93 Difference]: Finished difference Result 120 states and 148 transitions. [2022-04-27 10:18:06,443 INFO L276 IsEmpty]: Start isEmpty. Operand 120 states and 148 transitions. [2022-04-27 10:18:06,444 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:06,444 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:06,444 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:18:06,444 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:18:06,444 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 73 states, 65 states have (on average 1.2461538461538462) internal successors, (81), 66 states have internal predecessors, (81), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:18:06,445 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 73 states to 73 states and 88 transitions. [2022-04-27 10:18:06,446 INFO L78 Accepts]: Start accepts. Automaton has 73 states and 88 transitions. Word has length 33 [2022-04-27 10:18:06,446 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:18:06,446 INFO L495 AbstractCegarLoop]: Abstraction has 73 states and 88 transitions. [2022-04-27 10:18:06,446 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 35 states, 34 states have (on average 1.7058823529411764) internal successors, (58), 32 states have internal predecessors, (58), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:06,446 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 88 transitions. [2022-04-27 10:18:06,446 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 10:18:06,446 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:18:06,446 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:18:06,464 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Ended with exit code 0 [2022-04-27 10:18:06,662 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:06,663 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:18:06,663 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:18:06,663 INFO L85 PathProgramCache]: Analyzing trace with hash -350564349, now seen corresponding path program 1 times [2022-04-27 10:18:06,663 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:18:06,663 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [600741478] [2022-04-27 10:18:06,663 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:18:06,663 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:18:06,711 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:06,941 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:18:06,943 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:06,968 INFO L290 TraceCheckUtils]: 0: Hoare triple {5565#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {5547#true} is VALID [2022-04-27 10:18:06,968 INFO L290 TraceCheckUtils]: 1: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-27 10:18:06,968 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5547#true} {5547#true} #87#return; {5547#true} is VALID [2022-04-27 10:18:06,969 INFO L272 TraceCheckUtils]: 0: Hoare triple {5547#true} call ULTIMATE.init(); {5565#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:18:06,969 INFO L290 TraceCheckUtils]: 1: Hoare triple {5565#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {5547#true} is VALID [2022-04-27 10:18:06,969 INFO L290 TraceCheckUtils]: 2: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-27 10:18:06,969 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5547#true} {5547#true} #87#return; {5547#true} is VALID [2022-04-27 10:18:06,969 INFO L272 TraceCheckUtils]: 4: Hoare triple {5547#true} call #t~ret15 := main(); {5547#true} is VALID [2022-04-27 10:18:06,969 INFO L290 TraceCheckUtils]: 5: Hoare triple {5547#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {5552#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:18:06,970 INFO L290 TraceCheckUtils]: 6: Hoare triple {5552#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5552#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:18:06,970 INFO L290 TraceCheckUtils]: 7: Hoare triple {5552#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:06,971 INFO L290 TraceCheckUtils]: 8: Hoare triple {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:06,971 INFO L290 TraceCheckUtils]: 9: Hoare triple {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:06,971 INFO L290 TraceCheckUtils]: 10: Hoare triple {5554#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:06,971 INFO L290 TraceCheckUtils]: 11: Hoare triple {5554#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:06,972 INFO L290 TraceCheckUtils]: 12: Hoare triple {5554#(= |main_~#v~0.offset| 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:06,972 INFO L290 TraceCheckUtils]: 13: Hoare triple {5554#(= |main_~#v~0.offset| 0)} ~j~0 := 1; {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:06,972 INFO L290 TraceCheckUtils]: 14: Hoare triple {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:06,973 INFO L290 TraceCheckUtils]: 15: Hoare triple {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} #t~short10 := ~i~0 >= 0; {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:06,973 INFO L290 TraceCheckUtils]: 16: Hoare triple {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:06,974 INFO L290 TraceCheckUtils]: 17: Hoare triple {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:06,974 INFO L290 TraceCheckUtils]: 18: Hoare triple {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:06,974 INFO L290 TraceCheckUtils]: 19: Hoare triple {5553#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {5555#(and (= |main_~#v~0.offset| 0) (= (* main_~j~0 4) 8))} is VALID [2022-04-27 10:18:06,975 INFO L290 TraceCheckUtils]: 20: Hoare triple {5555#(and (= |main_~#v~0.offset| 0) (= (* main_~j~0 4) 8))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {5556#(and (= |main_~#v~0.offset| 0) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:06,975 INFO L290 TraceCheckUtils]: 21: Hoare triple {5556#(and (= |main_~#v~0.offset| 0) (= 4 (* main_~i~0 4)))} #t~short10 := ~i~0 >= 0; {5556#(and (= |main_~#v~0.offset| 0) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:06,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {5556#(and (= |main_~#v~0.offset| 0) (= 4 (* main_~i~0 4)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5556#(and (= |main_~#v~0.offset| 0) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:06,976 INFO L290 TraceCheckUtils]: 23: Hoare triple {5556#(and (= |main_~#v~0.offset| 0) (= 4 (* main_~i~0 4)))} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {5557#(and (= |main_~#v~0.offset| 0) (= 0 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:06,976 INFO L290 TraceCheckUtils]: 24: Hoare triple {5557#(and (= |main_~#v~0.offset| 0) (= 0 (* main_~i~0 4)))} #t~short10 := ~i~0 >= 0; {5557#(and (= |main_~#v~0.offset| 0) (= 0 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:06,977 INFO L290 TraceCheckUtils]: 25: Hoare triple {5557#(and (= |main_~#v~0.offset| 0) (= 0 (* main_~i~0 4)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5558#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= 0 main_~i~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} is VALID [2022-04-27 10:18:06,977 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= 0 main_~i~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {5559#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0))} is VALID [2022-04-27 10:18:06,988 INFO L290 TraceCheckUtils]: 27: Hoare triple {5559#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:07,002 INFO L290 TraceCheckUtils]: 28: Hoare triple {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:07,003 INFO L290 TraceCheckUtils]: 29: Hoare triple {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:07,003 INFO L290 TraceCheckUtils]: 30: Hoare triple {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} ~k~0 := 1; {5561#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} is VALID [2022-04-27 10:18:07,004 INFO L290 TraceCheckUtils]: 31: Hoare triple {5561#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {5562#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:18:07,004 INFO L272 TraceCheckUtils]: 32: Hoare triple {5562#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {5563#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:18:07,005 INFO L290 TraceCheckUtils]: 33: Hoare triple {5563#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {5564#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:18:07,005 INFO L290 TraceCheckUtils]: 34: Hoare triple {5564#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {5548#false} is VALID [2022-04-27 10:18:07,005 INFO L290 TraceCheckUtils]: 35: Hoare triple {5548#false} assume !false; {5548#false} is VALID [2022-04-27 10:18:07,005 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:18:07,005 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:18:07,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [600741478] [2022-04-27 10:18:07,006 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [600741478] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:18:07,006 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [539120955] [2022-04-27 10:18:07,006 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:18:07,006 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:07,006 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:18:07,020 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-04-27 10:18:07,032 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-04-27 10:18:07,079 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:07,080 INFO L263 TraceCheckSpWp]: Trace formula consists of 152 conjuncts, 21 conjunts are in the unsatisfiable core [2022-04-27 10:18:07,091 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:07,091 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:18:07,486 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-27 10:18:07,487 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 28 treesize of output 27 [2022-04-27 10:18:07,609 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-27 10:18:07,609 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 1 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 26 treesize of output 10 [2022-04-27 10:18:07,681 INFO L272 TraceCheckUtils]: 0: Hoare triple {5547#true} call ULTIMATE.init(); {5547#true} is VALID [2022-04-27 10:18:07,681 INFO L290 TraceCheckUtils]: 1: Hoare triple {5547#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {5547#true} is VALID [2022-04-27 10:18:07,681 INFO L290 TraceCheckUtils]: 2: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-27 10:18:07,681 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5547#true} {5547#true} #87#return; {5547#true} is VALID [2022-04-27 10:18:07,681 INFO L272 TraceCheckUtils]: 4: Hoare triple {5547#true} call #t~ret15 := main(); {5547#true} is VALID [2022-04-27 10:18:07,682 INFO L290 TraceCheckUtils]: 5: Hoare triple {5547#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:07,682 INFO L290 TraceCheckUtils]: 6: Hoare triple {5554#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:07,682 INFO L290 TraceCheckUtils]: 7: Hoare triple {5554#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:07,683 INFO L290 TraceCheckUtils]: 8: Hoare triple {5554#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:07,683 INFO L290 TraceCheckUtils]: 9: Hoare triple {5554#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:07,683 INFO L290 TraceCheckUtils]: 10: Hoare triple {5554#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:07,683 INFO L290 TraceCheckUtils]: 11: Hoare triple {5554#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:07,684 INFO L290 TraceCheckUtils]: 12: Hoare triple {5554#(= |main_~#v~0.offset| 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {5554#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:07,684 INFO L290 TraceCheckUtils]: 13: Hoare triple {5554#(= |main_~#v~0.offset| 0)} ~j~0 := 1; {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:07,684 INFO L290 TraceCheckUtils]: 14: Hoare triple {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:07,685 INFO L290 TraceCheckUtils]: 15: Hoare triple {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} #t~short10 := ~i~0 >= 0; {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:07,685 INFO L290 TraceCheckUtils]: 16: Hoare triple {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:07,686 INFO L290 TraceCheckUtils]: 17: Hoare triple {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:07,686 INFO L290 TraceCheckUtils]: 18: Hoare triple {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:07,686 INFO L290 TraceCheckUtils]: 19: Hoare triple {5608#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 1))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {5627#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 2))} is VALID [2022-04-27 10:18:07,687 INFO L290 TraceCheckUtils]: 20: Hoare triple {5627#(and (= |main_~#v~0.offset| 0) (<= main_~j~0 2))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {5631#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 1))} is VALID [2022-04-27 10:18:07,687 INFO L290 TraceCheckUtils]: 21: Hoare triple {5631#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 1))} #t~short10 := ~i~0 >= 0; {5631#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 1))} is VALID [2022-04-27 10:18:07,688 INFO L290 TraceCheckUtils]: 22: Hoare triple {5631#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 1))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5631#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 1))} is VALID [2022-04-27 10:18:07,688 INFO L290 TraceCheckUtils]: 23: Hoare triple {5631#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 1))} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {5641#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0))} is VALID [2022-04-27 10:18:07,689 INFO L290 TraceCheckUtils]: 24: Hoare triple {5641#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0))} #t~short10 := ~i~0 >= 0; {5645#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} is VALID [2022-04-27 10:18:07,689 INFO L290 TraceCheckUtils]: 25: Hoare triple {5645#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5558#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= 0 main_~i~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} is VALID [2022-04-27 10:18:07,690 INFO L290 TraceCheckUtils]: 26: Hoare triple {5558#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= 0 main_~i~0) (or (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) |main_#t~short10|))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {5559#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0))} is VALID [2022-04-27 10:18:07,690 INFO L290 TraceCheckUtils]: 27: Hoare triple {5559#(and (= |main_~#v~0.offset| 0) (<= main_~i~0 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))) main_~key~0) (<= 0 main_~i~0))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:07,691 INFO L290 TraceCheckUtils]: 28: Hoare triple {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:07,691 INFO L290 TraceCheckUtils]: 29: Hoare triple {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:07,692 INFO L290 TraceCheckUtils]: 30: Hoare triple {5560#(and (= |main_~#v~0.offset| 0) (<= (select (select |#memory_int| |main_~#v~0.base|) 0) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} ~k~0 := 1; {5561#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} is VALID [2022-04-27 10:18:07,692 INFO L290 TraceCheckUtils]: 31: Hoare triple {5561#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {5562#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:18:07,694 INFO L272 TraceCheckUtils]: 32: Hoare triple {5562#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {5670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:18:07,695 INFO L290 TraceCheckUtils]: 33: Hoare triple {5670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:18:07,695 INFO L290 TraceCheckUtils]: 34: Hoare triple {5674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5548#false} is VALID [2022-04-27 10:18:07,695 INFO L290 TraceCheckUtils]: 35: Hoare triple {5548#false} assume !false; {5548#false} is VALID [2022-04-27 10:18:07,695 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 3 proven. 11 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-27 10:18:07,695 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:18:08,079 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 41 treesize of output 35 [2022-04-27 10:18:08,117 INFO L356 Elim1Store]: treesize reduction 21, result has 43.2 percent of original size [2022-04-27 10:18:08,117 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 93 treesize of output 90 [2022-04-27 10:18:08,432 INFO L290 TraceCheckUtils]: 35: Hoare triple {5548#false} assume !false; {5548#false} is VALID [2022-04-27 10:18:08,432 INFO L290 TraceCheckUtils]: 34: Hoare triple {5674#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {5548#false} is VALID [2022-04-27 10:18:08,433 INFO L290 TraceCheckUtils]: 33: Hoare triple {5670#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {5674#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:18:08,433 INFO L272 TraceCheckUtils]: 32: Hoare triple {5562#(<= |main_#t~mem13| |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {5670#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:18:08,434 INFO L290 TraceCheckUtils]: 31: Hoare triple {5693#(<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {5562#(<= |main_#t~mem13| |main_#t~mem14|)} is VALID [2022-04-27 10:18:08,434 INFO L290 TraceCheckUtils]: 30: Hoare triple {5697#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} ~k~0 := 1; {5693#(<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4))))} is VALID [2022-04-27 10:18:08,434 INFO L290 TraceCheckUtils]: 29: Hoare triple {5697#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {5697#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:18:08,435 INFO L290 TraceCheckUtils]: 28: Hoare triple {5697#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {5697#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:18:08,435 INFO L290 TraceCheckUtils]: 27: Hoare triple {5707#(forall ((v_ArrVal_179 Int)) (or (not (<= main_~key~0 v_ArrVal_179)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_179) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_179) (+ |main_~#v~0.offset| 4)))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {5697#(<= (select (select |#memory_int| |main_~#v~0.base|) |main_~#v~0.offset|) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:18:08,436 INFO L290 TraceCheckUtils]: 26: Hoare triple {5711#(or (forall ((v_ArrVal_179 Int)) (or (not (<= main_~key~0 v_ArrVal_179)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_179) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_179) (+ |main_~#v~0.offset| 4))))) |main_#t~short10|)} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {5707#(forall ((v_ArrVal_179 Int)) (or (not (<= main_~key~0 v_ArrVal_179)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_179) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_179) (+ |main_~#v~0.offset| 4)))))} is VALID [2022-04-27 10:18:08,437 INFO L290 TraceCheckUtils]: 25: Hoare triple {5715#(or (not |main_#t~short10|) (= 0 (* main_~i~0 4)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5711#(or (forall ((v_ArrVal_179 Int)) (or (not (<= main_~key~0 v_ArrVal_179)) (<= (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_179) |main_~#v~0.offset|) (select (store (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) v_ArrVal_179) (+ |main_~#v~0.offset| 4))))) |main_#t~short10|)} is VALID [2022-04-27 10:18:08,437 INFO L290 TraceCheckUtils]: 24: Hoare triple {5719#(or (not (<= 0 main_~i~0)) (= 0 (* main_~i~0 4)))} #t~short10 := ~i~0 >= 0; {5715#(or (not |main_#t~short10|) (= 0 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:08,437 INFO L290 TraceCheckUtils]: 23: Hoare triple {5723#(<= main_~i~0 1)} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {5719#(or (not (<= 0 main_~i~0)) (= 0 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:08,438 INFO L290 TraceCheckUtils]: 22: Hoare triple {5723#(<= main_~i~0 1)} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5723#(<= main_~i~0 1)} is VALID [2022-04-27 10:18:08,438 INFO L290 TraceCheckUtils]: 21: Hoare triple {5723#(<= main_~i~0 1)} #t~short10 := ~i~0 >= 0; {5723#(<= main_~i~0 1)} is VALID [2022-04-27 10:18:08,439 INFO L290 TraceCheckUtils]: 20: Hoare triple {5733#(<= main_~j~0 2)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {5723#(<= main_~i~0 1)} is VALID [2022-04-27 10:18:08,439 INFO L290 TraceCheckUtils]: 19: Hoare triple {5737#(<= main_~j~0 1)} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {5733#(<= main_~j~0 2)} is VALID [2022-04-27 10:18:08,439 INFO L290 TraceCheckUtils]: 18: Hoare triple {5737#(<= main_~j~0 1)} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {5737#(<= main_~j~0 1)} is VALID [2022-04-27 10:18:08,440 INFO L290 TraceCheckUtils]: 17: Hoare triple {5737#(<= main_~j~0 1)} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {5737#(<= main_~j~0 1)} is VALID [2022-04-27 10:18:08,440 INFO L290 TraceCheckUtils]: 16: Hoare triple {5737#(<= main_~j~0 1)} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {5737#(<= main_~j~0 1)} is VALID [2022-04-27 10:18:08,440 INFO L290 TraceCheckUtils]: 15: Hoare triple {5737#(<= main_~j~0 1)} #t~short10 := ~i~0 >= 0; {5737#(<= main_~j~0 1)} is VALID [2022-04-27 10:18:08,440 INFO L290 TraceCheckUtils]: 14: Hoare triple {5737#(<= main_~j~0 1)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {5737#(<= main_~j~0 1)} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 13: Hoare triple {5547#true} ~j~0 := 1; {5737#(<= main_~j~0 1)} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 12: Hoare triple {5547#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 11: Hoare triple {5547#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 10: Hoare triple {5547#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 9: Hoare triple {5547#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 8: Hoare triple {5547#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 7: Hoare triple {5547#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 6: Hoare triple {5547#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 5: Hoare triple {5547#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L272 TraceCheckUtils]: 4: Hoare triple {5547#true} call #t~ret15 := main(); {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5547#true} {5547#true} #87#return; {5547#true} is VALID [2022-04-27 10:18:08,441 INFO L290 TraceCheckUtils]: 2: Hoare triple {5547#true} assume true; {5547#true} is VALID [2022-04-27 10:18:08,442 INFO L290 TraceCheckUtils]: 1: Hoare triple {5547#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {5547#true} is VALID [2022-04-27 10:18:08,442 INFO L272 TraceCheckUtils]: 0: Hoare triple {5547#true} call ULTIMATE.init(); {5547#true} is VALID [2022-04-27 10:18:08,442 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 1 proven. 13 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-27 10:18:08,442 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [539120955] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-27 10:18:08,442 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-27 10:18:08,442 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [16, 15, 14] total 32 [2022-04-27 10:18:08,442 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [477094228] [2022-04-27 10:18:08,442 INFO L85 oduleStraightlineAll]: Using 3 imperfect interpolants to construct interpolant automaton [2022-04-27 10:18:08,443 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 31 states have (on average 2.3225806451612905) internal successors, (72), 29 states have internal predecessors, (72), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 36 [2022-04-27 10:18:08,443 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-27 10:18:08,443 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 32 states, 31 states have (on average 2.3225806451612905) internal successors, (72), 29 states have internal predecessors, (72), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:08,501 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 78 edges. 78 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:08,501 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 32 states [2022-04-27 10:18:08,501 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy CAMEL [2022-04-27 10:18:08,502 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 32 interpolants. [2022-04-27 10:18:08,502 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=130, Invalid=862, Unknown=0, NotChecked=0, Total=992 [2022-04-27 10:18:08,502 INFO L87 Difference]: Start difference. First operand 73 states and 88 transitions. Second operand has 32 states, 31 states have (on average 2.3225806451612905) internal successors, (72), 29 states have internal predecessors, (72), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:11,924 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:11,924 INFO L93 Difference]: Finished difference Result 172 states and 210 transitions. [2022-04-27 10:18:11,924 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 44 states. [2022-04-27 10:18:11,924 INFO L78 Accepts]: Start accepts. Automaton has has 32 states, 31 states have (on average 2.3225806451612905) internal successors, (72), 29 states have internal predecessors, (72), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) Word has length 36 [2022-04-27 10:18:11,924 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-27 10:18:11,924 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 31 states have (on average 2.3225806451612905) internal successors, (72), 29 states have internal predecessors, (72), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:11,926 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 161 transitions. [2022-04-27 10:18:11,926 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 32 states, 31 states have (on average 2.3225806451612905) internal successors, (72), 29 states have internal predecessors, (72), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:11,927 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 44 states to 44 states and 161 transitions. [2022-04-27 10:18:11,927 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 44 states and 161 transitions. [2022-04-27 10:18:12,067 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 161 edges. 161 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-27 10:18:12,069 INFO L225 Difference]: With dead ends: 172 [2022-04-27 10:18:12,069 INFO L226 Difference]: Without dead ends: 141 [2022-04-27 10:18:12,070 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 140 GetRequests, 62 SyntacticMatches, 7 SemanticMatches, 71 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 1437 ImplicationChecksByTransitivity, 1.3s TimeCoverageRelationStatistics Valid=866, Invalid=4390, Unknown=0, NotChecked=0, Total=5256 [2022-04-27 10:18:12,071 INFO L413 NwaCegarLoop]: 21 mSDtfsCounter, 240 mSDsluCounter, 87 mSDsCounter, 0 mSdLazyCounter, 1006 mSolverCounterSat, 203 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 240 SdHoareTripleChecker+Valid, 108 SdHoareTripleChecker+Invalid, 1301 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 203 IncrementalHoareTripleChecker+Valid, 1006 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 92 IncrementalHoareTripleChecker+Unchecked, 1.2s IncrementalHoareTripleChecker+Time [2022-04-27 10:18:12,071 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [240 Valid, 108 Invalid, 1301 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [203 Valid, 1006 Invalid, 0 Unknown, 92 Unchecked, 1.2s Time] [2022-04-27 10:18:12,071 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 141 states. [2022-04-27 10:18:12,159 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 141 to 78. [2022-04-27 10:18:12,159 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-27 10:18:12,160 INFO L82 GeneralOperation]: Start isEquivalent. First operand 141 states. Second operand has 78 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:18:12,160 INFO L74 IsIncluded]: Start isIncluded. First operand 141 states. Second operand has 78 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:18:12,160 INFO L87 Difference]: Start difference. First operand 141 states. Second operand has 78 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:18:12,162 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:12,162 INFO L93 Difference]: Finished difference Result 141 states and 171 transitions. [2022-04-27 10:18:12,162 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 171 transitions. [2022-04-27 10:18:12,163 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:12,163 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:12,163 INFO L74 IsIncluded]: Start isIncluded. First operand has 78 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 141 states. [2022-04-27 10:18:12,163 INFO L87 Difference]: Start difference. First operand has 78 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) Second operand 141 states. [2022-04-27 10:18:12,165 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-27 10:18:12,165 INFO L93 Difference]: Finished difference Result 141 states and 171 transitions. [2022-04-27 10:18:12,165 INFO L276 IsEmpty]: Start isEmpty. Operand 141 states and 171 transitions. [2022-04-27 10:18:12,166 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-27 10:18:12,166 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-27 10:18:12,166 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-27 10:18:12,166 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-27 10:18:12,166 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 78 states, 70 states have (on average 1.2571428571428571) internal successors, (88), 71 states have internal predecessors, (88), 4 states have call successors, (4), 4 states have call predecessors, (4), 3 states have return successors, (3), 2 states have call predecessors, (3), 3 states have call successors, (3) [2022-04-27 10:18:12,168 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 78 states to 78 states and 95 transitions. [2022-04-27 10:18:12,168 INFO L78 Accepts]: Start accepts. Automaton has 78 states and 95 transitions. Word has length 36 [2022-04-27 10:18:12,168 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-27 10:18:12,168 INFO L495 AbstractCegarLoop]: Abstraction has 78 states and 95 transitions. [2022-04-27 10:18:12,168 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 32 states, 31 states have (on average 2.3225806451612905) internal successors, (72), 29 states have internal predecessors, (72), 2 states have call successors, (5), 4 states have call predecessors, (5), 1 states have return successors, (1), 1 states have call predecessors, (1), 1 states have call successors, (1) [2022-04-27 10:18:12,168 INFO L276 IsEmpty]: Start isEmpty. Operand 78 states and 95 transitions. [2022-04-27 10:18:12,169 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 37 [2022-04-27 10:18:12,169 INFO L187 NwaCegarLoop]: Found error trace [2022-04-27 10:18:12,169 INFO L195 NwaCegarLoop]: trace histogram [3, 3, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-27 10:18:12,187 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-04-27 10:18:12,381 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 9 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable11 [2022-04-27 10:18:12,382 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-27 10:18:12,382 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-27 10:18:12,382 INFO L85 PathProgramCache]: Analyzing trace with hash 1169352267, now seen corresponding path program 3 times [2022-04-27 10:18:12,382 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-27 10:18:12,382 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [532511030] [2022-04-27 10:18:12,382 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-27 10:18:12,382 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-27 10:18:12,424 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:12,830 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-27 10:18:12,831 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:12,833 INFO L290 TraceCheckUtils]: 0: Hoare triple {6533#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {6511#true} is VALID [2022-04-27 10:18:12,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {6511#true} assume true; {6511#true} is VALID [2022-04-27 10:18:12,833 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {6511#true} {6511#true} #87#return; {6511#true} is VALID [2022-04-27 10:18:12,833 INFO L272 TraceCheckUtils]: 0: Hoare triple {6511#true} call ULTIMATE.init(); {6533#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-27 10:18:12,833 INFO L290 TraceCheckUtils]: 1: Hoare triple {6533#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {6511#true} is VALID [2022-04-27 10:18:12,834 INFO L290 TraceCheckUtils]: 2: Hoare triple {6511#true} assume true; {6511#true} is VALID [2022-04-27 10:18:12,834 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6511#true} {6511#true} #87#return; {6511#true} is VALID [2022-04-27 10:18:12,834 INFO L272 TraceCheckUtils]: 4: Hoare triple {6511#true} call #t~ret15 := main(); {6511#true} is VALID [2022-04-27 10:18:12,834 INFO L290 TraceCheckUtils]: 5: Hoare triple {6511#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {6516#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:18:12,835 INFO L290 TraceCheckUtils]: 6: Hoare triple {6516#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {6516#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} is VALID [2022-04-27 10:18:12,835 INFO L290 TraceCheckUtils]: 7: Hoare triple {6516#(and (= |main_~#v~0.offset| 0) (= main_~j~0 0))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6517#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:12,835 INFO L290 TraceCheckUtils]: 8: Hoare triple {6517#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {6517#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:12,836 INFO L290 TraceCheckUtils]: 9: Hoare triple {6517#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6518#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:12,836 INFO L290 TraceCheckUtils]: 10: Hoare triple {6518#(= |main_~#v~0.offset| 0)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {6518#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:12,836 INFO L290 TraceCheckUtils]: 11: Hoare triple {6518#(= |main_~#v~0.offset| 0)} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6518#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:12,836 INFO L290 TraceCheckUtils]: 12: Hoare triple {6518#(= |main_~#v~0.offset| 0)} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {6518#(= |main_~#v~0.offset| 0)} is VALID [2022-04-27 10:18:12,837 INFO L290 TraceCheckUtils]: 13: Hoare triple {6518#(= |main_~#v~0.offset| 0)} ~j~0 := 1; {6517#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} is VALID [2022-04-27 10:18:12,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {6517#(and (= |main_~#v~0.offset| 0) (<= 1 main_~j~0) (<= main_~j~0 1))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {6519#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (or (<= (+ main_~i~0 1) 0) (= 0 (* main_~i~0 4))))} is VALID [2022-04-27 10:18:12,838 INFO L290 TraceCheckUtils]: 15: Hoare triple {6519#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (or (<= (+ main_~i~0 1) 0) (= 0 (* main_~i~0 4))))} #t~short10 := ~i~0 >= 0; {6520#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (or (not |main_#t~short10|) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:12,839 INFO L290 TraceCheckUtils]: 16: Hoare triple {6520#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (or (not |main_#t~short10|) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {6521#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (or (not |main_#t~short10|) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))))) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4)))} is VALID [2022-04-27 10:18:12,839 INFO L290 TraceCheckUtils]: 17: Hoare triple {6521#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (or (not |main_#t~short10|) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4))))) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4)))} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {6522#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (not (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ main_~i~0 1)))} is VALID [2022-04-27 10:18:12,840 INFO L290 TraceCheckUtils]: 18: Hoare triple {6522#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~j~0) 0) (not (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) (+ |main_~#v~0.offset| 4))) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ main_~i~0 1)))} #t~short10 := ~i~0 >= 0; {6523#(and (= |main_~#v~0.offset| 0) (or (and (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))) |main_#t~short10|) (= (+ (- 1) main_~j~0) 0))} is VALID [2022-04-27 10:18:12,840 INFO L290 TraceCheckUtils]: 19: Hoare triple {6523#(and (= |main_~#v~0.offset| 0) (or (and (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4)))) |main_#t~short10|) (= (+ (- 1) main_~j~0) 0))} assume !#t~short10; {6524#(and (= |main_~#v~0.offset| 0) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (= main_~j~0 1) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:12,841 INFO L290 TraceCheckUtils]: 20: Hoare triple {6524#(and (= |main_~#v~0.offset| 0) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (= main_~j~0 1) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {6524#(and (= |main_~#v~0.offset| 0) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (= main_~j~0 1) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:12,842 INFO L290 TraceCheckUtils]: 21: Hoare triple {6524#(and (= |main_~#v~0.offset| 0) (= (+ |main_~#v~0.offset| 4 (* main_~i~0 4)) 0) (= main_~j~0 1) (<= (+ main_~key~0 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {6525#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:12,842 INFO L290 TraceCheckUtils]: 22: Hoare triple {6525#(and (= |main_~#v~0.offset| 0) (= main_~j~0 1) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {6526#(and (= |main_~#v~0.offset| 0) (= (* main_~j~0 4) 8) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))))} is VALID [2022-04-27 10:18:12,843 INFO L290 TraceCheckUtils]: 23: Hoare triple {6526#(and (= |main_~#v~0.offset| 0) (= (* main_~j~0 4) 8) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {6527#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:12,843 INFO L290 TraceCheckUtils]: 24: Hoare triple {6527#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} #t~short10 := ~i~0 >= 0; {6527#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:12,843 INFO L290 TraceCheckUtils]: 25: Hoare triple {6527#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {6527#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:12,844 INFO L290 TraceCheckUtils]: 26: Hoare triple {6527#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {6527#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} is VALID [2022-04-27 10:18:12,845 INFO L290 TraceCheckUtils]: 27: Hoare triple {6527#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (= 4 (* main_~i~0 4)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {6528#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:12,845 INFO L290 TraceCheckUtils]: 28: Hoare triple {6528#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {6528#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:12,845 INFO L290 TraceCheckUtils]: 29: Hoare triple {6528#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {6528#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} is VALID [2022-04-27 10:18:12,846 INFO L290 TraceCheckUtils]: 30: Hoare triple {6528#(and (= |main_~#v~0.offset| 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) 0) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))))} ~k~0 := 1; {6529#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} is VALID [2022-04-27 10:18:12,847 INFO L290 TraceCheckUtils]: 31: Hoare triple {6529#(and (= |main_~#v~0.offset| 0) (= (+ (- 1) main_~k~0) 0) (<= (+ (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4) (- 4))) 1) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~k~0 4)))))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {6530#(<= (+ |main_#t~mem13| 1) |main_#t~mem14|)} is VALID [2022-04-27 10:18:12,847 INFO L272 TraceCheckUtils]: 32: Hoare triple {6530#(<= (+ |main_#t~mem13| 1) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {6531#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-27 10:18:12,847 INFO L290 TraceCheckUtils]: 33: Hoare triple {6531#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {6532#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-27 10:18:12,848 INFO L290 TraceCheckUtils]: 34: Hoare triple {6532#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {6512#false} is VALID [2022-04-27 10:18:12,848 INFO L290 TraceCheckUtils]: 35: Hoare triple {6512#false} assume !false; {6512#false} is VALID [2022-04-27 10:18:12,848 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 0 proven. 22 refuted. 0 times theorem prover too weak. 1 trivial. 0 not checked. [2022-04-27 10:18:12,848 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-27 10:18:12,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [532511030] [2022-04-27 10:18:12,848 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [532511030] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-27 10:18:12,848 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1831767494] [2022-04-27 10:18:12,848 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST2 [2022-04-27 10:18:12,848 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-27 10:18:12,849 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-27 10:18:12,849 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-04-27 10:18:12,850 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-04-27 10:18:12,916 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST2 issued 4 check-sat command(s) [2022-04-27 10:18:12,916 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-27 10:18:12,917 INFO L263 TraceCheckSpWp]: Trace formula consists of 149 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-27 10:18:12,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-27 10:18:12,930 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-27 10:18:13,120 INFO L356 Elim1Store]: treesize reduction 40, result has 23.1 percent of original size [2022-04-27 10:18:13,120 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 40 treesize of output 30 [2022-04-27 10:18:13,407 INFO L356 Elim1Store]: treesize reduction 109, result has 9.2 percent of original size [2022-04-27 10:18:13,407 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 49 treesize of output 30 [2022-04-27 10:18:13,984 INFO L356 Elim1Store]: treesize reduction 76, result has 22.4 percent of original size [2022-04-27 10:18:13,984 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 3 case distinctions, treesize of input 32 treesize of output 34 [2022-04-27 10:18:14,336 INFO L356 Elim1Store]: treesize reduction 36, result has 7.7 percent of original size [2022-04-27 10:18:14,337 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 35 treesize of output 13 [2022-04-27 10:18:14,445 INFO L272 TraceCheckUtils]: 0: Hoare triple {6511#true} call ULTIMATE.init(); {6511#true} is VALID [2022-04-27 10:18:14,445 INFO L290 TraceCheckUtils]: 1: Hoare triple {6511#true} #NULL.base, #NULL.offset := 0, 0;assume 0 == #valid[0];assume 0 < #StackHeapBarrier;call #Ultimate.allocInit(2, 1);call write~init~int(48, 1, 0, 1);call write~init~int(0, 1, 1, 1);call #Ultimate.allocInit(19, 2);call #Ultimate.allocInit(12, 3); {6511#true} is VALID [2022-04-27 10:18:14,445 INFO L290 TraceCheckUtils]: 2: Hoare triple {6511#true} assume true; {6511#true} is VALID [2022-04-27 10:18:14,445 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {6511#true} {6511#true} #87#return; {6511#true} is VALID [2022-04-27 10:18:14,445 INFO L272 TraceCheckUtils]: 4: Hoare triple {6511#true} call #t~ret15 := main(); {6511#true} is VALID [2022-04-27 10:18:14,445 INFO L290 TraceCheckUtils]: 5: Hoare triple {6511#true} ~SIZE~0 := #t~nondet4;havoc #t~nondet4;havoc ~i~0;havoc ~j~0;havoc ~k~0;havoc ~key~0;call ~#v~0.base, ~#v~0.offset := #Ultimate.allocOnStack(4 * (if ~SIZE~0 % 4294967296 % 4294967296 <= 2147483647 then ~SIZE~0 % 4294967296 % 4294967296 else ~SIZE~0 % 4294967296 % 4294967296 - 4294967296));~j~0 := 0; {6511#true} is VALID [2022-04-27 10:18:14,445 INFO L290 TraceCheckUtils]: 6: Hoare triple {6511#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {6511#true} is VALID [2022-04-27 10:18:14,445 INFO L290 TraceCheckUtils]: 7: Hoare triple {6511#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6511#true} is VALID [2022-04-27 10:18:14,446 INFO L290 TraceCheckUtils]: 8: Hoare triple {6511#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {6511#true} is VALID [2022-04-27 10:18:14,446 INFO L290 TraceCheckUtils]: 9: Hoare triple {6511#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6511#true} is VALID [2022-04-27 10:18:14,446 INFO L290 TraceCheckUtils]: 10: Hoare triple {6511#true} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;call write~int(#t~nondet6, ~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);havoc #t~nondet6; {6511#true} is VALID [2022-04-27 10:18:14,446 INFO L290 TraceCheckUtils]: 11: Hoare triple {6511#true} #t~post5 := ~j~0;~j~0 := 1 + #t~post5;havoc #t~post5; {6511#true} is VALID [2022-04-27 10:18:14,446 INFO L290 TraceCheckUtils]: 12: Hoare triple {6511#true} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {6511#true} is VALID [2022-04-27 10:18:14,446 INFO L290 TraceCheckUtils]: 13: Hoare triple {6511#true} ~j~0 := 1; {6576#(= main_~j~0 1)} is VALID [2022-04-27 10:18:14,447 INFO L290 TraceCheckUtils]: 14: Hoare triple {6576#(= main_~j~0 1)} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {6580#(and (= (+ (- 1) main_~j~0) main_~i~0) (= main_~j~0 1))} is VALID [2022-04-27 10:18:14,447 INFO L290 TraceCheckUtils]: 15: Hoare triple {6580#(and (= (+ (- 1) main_~j~0) main_~i~0) (= main_~j~0 1))} #t~short10 := ~i~0 >= 0; {6580#(and (= (+ (- 1) main_~j~0) main_~i~0) (= main_~j~0 1))} is VALID [2022-04-27 10:18:14,447 INFO L290 TraceCheckUtils]: 16: Hoare triple {6580#(and (= (+ (- 1) main_~j~0) main_~i~0) (= main_~j~0 1))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {6587#(and (= (+ (- 1) main_~j~0) main_~i~0) (= main_~j~0 1) (or (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (not |main_#t~short10|)))} is VALID [2022-04-27 10:18:14,448 INFO L290 TraceCheckUtils]: 17: Hoare triple {6587#(and (= (+ (- 1) main_~j~0) main_~i~0) (= main_~j~0 1) (or (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~i~0 4)))) (not |main_#t~short10|)))} assume !!#t~short10;havoc #t~mem9;havoc #t~short10;call #t~mem11 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);call write~int(#t~mem11, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4);havoc #t~mem11;~i~0 := ~i~0 - 1; {6591#(and (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (= main_~j~0 1) (<= main_~j~0 (+ main_~i~0 2)))} is VALID [2022-04-27 10:18:14,449 INFO L290 TraceCheckUtils]: 18: Hoare triple {6591#(and (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (= main_~j~0 1) (<= main_~j~0 (+ main_~i~0 2)))} #t~short10 := ~i~0 >= 0; {6595#(and (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (= main_~j~0 1) (<= main_~j~0 (+ main_~i~0 2)) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} is VALID [2022-04-27 10:18:14,449 INFO L290 TraceCheckUtils]: 19: Hoare triple {6595#(and (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (= main_~j~0 1) (<= main_~j~0 (+ main_~i~0 2)) (or (and (<= 0 main_~i~0) |main_#t~short10|) (and (not (<= 0 main_~i~0)) (not |main_#t~short10|))))} assume !#t~short10; {6599#(and (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (= main_~j~0 1) (< main_~i~0 0) (<= main_~j~0 (+ main_~i~0 2)))} is VALID [2022-04-27 10:18:14,450 INFO L290 TraceCheckUtils]: 20: Hoare triple {6599#(and (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (= main_~j~0 1) (< main_~i~0 0) (<= main_~j~0 (+ main_~i~0 2)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {6599#(and (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (= main_~j~0 1) (< main_~i~0 0) (<= main_~j~0 (+ main_~i~0 2)))} is VALID [2022-04-27 10:18:14,451 INFO L290 TraceCheckUtils]: 21: Hoare triple {6599#(and (< main_~key~0 (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4)))) (<= (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4) (- 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (= main_~j~0 1) (< main_~i~0 0) (<= main_~j~0 (+ main_~i~0 2)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {6606#(and (= main_~j~0 1) (exists ((main_~i~0 Int)) (and (< main_~i~0 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (<= main_~j~0 (+ main_~i~0 2)))))} is VALID [2022-04-27 10:18:14,452 INFO L290 TraceCheckUtils]: 22: Hoare triple {6606#(and (= main_~j~0 1) (exists ((main_~i~0 Int)) (and (< main_~i~0 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| (* main_~j~0 4)))) (<= main_~j~0 (+ main_~i~0 2)))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {6610#(and (= main_~j~0 2) (exists ((main_~i~0 Int)) (and (< main_~i~0 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ main_~i~0 1)))))} is VALID [2022-04-27 10:18:14,453 INFO L290 TraceCheckUtils]: 23: Hoare triple {6610#(and (= main_~j~0 2) (exists ((main_~i~0 Int)) (and (< main_~i~0 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4 (* main_~i~0 4))) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ main_~i~0 1)))))} assume !!(~j~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem8 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~j~0, 4);~key~0 := #t~mem8;havoc #t~mem8;~i~0 := ~j~0 - 1; {6614#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= 2 (+ main_~i~0 1)))} is VALID [2022-04-27 10:18:14,453 INFO L290 TraceCheckUtils]: 24: Hoare triple {6614#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= 2 (+ main_~i~0 1)))} #t~short10 := ~i~0 >= 0; {6614#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= 2 (+ main_~i~0 1)))} is VALID [2022-04-27 10:18:14,454 INFO L290 TraceCheckUtils]: 25: Hoare triple {6614#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= 2 (+ main_~i~0 1)))} assume #t~short10;call #t~mem9 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~i~0, 4);#t~short10 := #t~mem9 > ~key~0; {6614#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= 2 (+ main_~i~0 1)))} is VALID [2022-04-27 10:18:14,454 INFO L290 TraceCheckUtils]: 26: Hoare triple {6614#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= 2 (+ main_~i~0 1)))} assume !#t~short10;havoc #t~mem9;havoc #t~short10; {6614#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= 2 (+ main_~i~0 1)))} is VALID [2022-04-27 10:18:14,455 INFO L290 TraceCheckUtils]: 27: Hoare triple {6614#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= 2 (+ main_~i~0 1)))} call write~int(~key~0, ~#v~0.base, ~#v~0.offset + 4 * (1 + ~i~0), 4); {6627#(exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1))))} is VALID [2022-04-27 10:18:14,456 INFO L290 TraceCheckUtils]: 28: Hoare triple {6627#(exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1))))} #t~post7 := ~j~0;~j~0 := 1 + #t~post7;havoc #t~post7; {6627#(exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1))))} is VALID [2022-04-27 10:18:14,456 INFO L290 TraceCheckUtils]: 29: Hoare triple {6627#(exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1))))} assume !(~j~0 % 4294967296 < ~SIZE~0 % 4294967296); {6627#(exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1))))} is VALID [2022-04-27 10:18:14,456 INFO L290 TraceCheckUtils]: 30: Hoare triple {6627#(exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1))))} ~k~0 := 1; {6637#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= main_~k~0 1))} is VALID [2022-04-27 10:18:14,457 INFO L290 TraceCheckUtils]: 31: Hoare triple {6637#(and (exists ((v_main_~i~0_25 Int)) (and (< v_main_~i~0_25 0) (< (select (select |#memory_int| |main_~#v~0.base|) (+ (* v_main_~i~0_25 4) |main_~#v~0.offset| 4)) (select (select |#memory_int| |main_~#v~0.base|) (+ |main_~#v~0.offset| 4))) (<= 0 (+ v_main_~i~0_25 1)))) (= main_~k~0 1))} assume !!(~k~0 % 4294967296 < ~SIZE~0 % 4294967296);call #t~mem13 := read~int(~#v~0.base, ~#v~0.offset + 4 * (~k~0 - 1), 4);call #t~mem14 := read~int(~#v~0.base, ~#v~0.offset + 4 * ~k~0, 4); {6530#(<= (+ |main_#t~mem13| 1) |main_#t~mem14|)} is VALID [2022-04-27 10:18:14,458 INFO L272 TraceCheckUtils]: 32: Hoare triple {6530#(<= (+ |main_#t~mem13| 1) |main_#t~mem14|)} call __VERIFIER_assert((if #t~mem13 <= #t~mem14 then 1 else 0)); {6644#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-27 10:18:14,458 INFO L290 TraceCheckUtils]: 33: Hoare triple {6644#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {6648#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-27 10:18:14,458 INFO L290 TraceCheckUtils]: 34: Hoare triple {6648#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {6512#false} is VALID [2022-04-27 10:18:14,458 INFO L290 TraceCheckUtils]: 35: Hoare triple {6512#false} assume !false; {6512#false} is VALID [2022-04-27 10:18:14,459 INFO L134 CoverageAnalysis]: Checked inductivity of 23 backedges. 0 proven. 14 refuted. 0 times theorem prover too weak. 9 trivial. 0 not checked. [2022-04-27 10:18:14,459 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-27 10:18:32,254 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 85 treesize of output 77 [2022-04-27 10:18:32,375 INFO L356 Elim1Store]: treesize reduction 27, result has 27.0 percent of original size [2022-04-27 10:18:32,376 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 3 select indices, 3 select index equivalence classes, 0 disjoint index pairs (out of 3 index pairs), introduced 3 new quantified variables, introduced 3 case distinctions, treesize of input 5803 treesize of output 5609