/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/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf -i ../../../trunk/examples/svcomp/verifythis/duplets.c -------------------------------------------------------------------------------- This is Ultimate 0.2.2-dev-fb4f59a-m [2022-04-28 04:10:23,396 INFO L177 SettingsManager]: Resetting all preferences to default values... [2022-04-28 04:10:23,406 INFO L181 SettingsManager]: Resetting UltimateCore preferences to default values [2022-04-28 04:10:23,436 INFO L184 SettingsManager]: Ultimate Commandline Interface provides no preferences, ignoring... [2022-04-28 04:10:23,437 INFO L181 SettingsManager]: Resetting Boogie Preprocessor preferences to default values [2022-04-28 04:10:23,438 INFO L181 SettingsManager]: Resetting Boogie Procedure Inliner preferences to default values [2022-04-28 04:10:23,438 INFO L181 SettingsManager]: Resetting Abstract Interpretation preferences to default values [2022-04-28 04:10:23,439 INFO L181 SettingsManager]: Resetting LassoRanker preferences to default values [2022-04-28 04:10:23,440 INFO L181 SettingsManager]: Resetting Reaching Definitions preferences to default values [2022-04-28 04:10:23,441 INFO L181 SettingsManager]: Resetting SyntaxChecker preferences to default values [2022-04-28 04:10:23,441 INFO L181 SettingsManager]: Resetting Sifa preferences to default values [2022-04-28 04:10:23,442 INFO L184 SettingsManager]: Büchi Program Product provides no preferences, ignoring... [2022-04-28 04:10:23,442 INFO L181 SettingsManager]: Resetting LTL2Aut preferences to default values [2022-04-28 04:10:23,443 INFO L181 SettingsManager]: Resetting PEA to Boogie preferences to default values [2022-04-28 04:10:23,443 INFO L181 SettingsManager]: Resetting BlockEncodingV2 preferences to default values [2022-04-28 04:10:23,444 INFO L181 SettingsManager]: Resetting ChcToBoogie preferences to default values [2022-04-28 04:10:23,445 INFO L181 SettingsManager]: Resetting AutomataScriptInterpreter preferences to default values [2022-04-28 04:10:23,445 INFO L181 SettingsManager]: Resetting BuchiAutomizer preferences to default values [2022-04-28 04:10:23,446 INFO L181 SettingsManager]: Resetting CACSL2BoogieTranslator preferences to default values [2022-04-28 04:10:23,448 INFO L181 SettingsManager]: Resetting CodeCheck preferences to default values [2022-04-28 04:10:23,449 INFO L181 SettingsManager]: Resetting HornVerifier preferences to default values [2022-04-28 04:10:23,453 INFO L181 SettingsManager]: Resetting InvariantSynthesis preferences to default values [2022-04-28 04:10:23,455 INFO L181 SettingsManager]: Resetting RCFGBuilder preferences to default values [2022-04-28 04:10:23,457 INFO L181 SettingsManager]: Resetting Referee preferences to default values [2022-04-28 04:10:23,458 INFO L181 SettingsManager]: Resetting TraceAbstraction preferences to default values [2022-04-28 04:10:23,460 INFO L184 SettingsManager]: TraceAbstractionConcurrent provides no preferences, ignoring... [2022-04-28 04:10:23,460 INFO L184 SettingsManager]: TraceAbstractionWithAFAs provides no preferences, ignoring... [2022-04-28 04:10:23,460 INFO L181 SettingsManager]: Resetting TreeAutomizer preferences to default values [2022-04-28 04:10:23,461 INFO L181 SettingsManager]: Resetting IcfgToChc preferences to default values [2022-04-28 04:10:23,461 INFO L181 SettingsManager]: Resetting IcfgTransformer preferences to default values [2022-04-28 04:10:23,461 INFO L184 SettingsManager]: ReqToTest provides no preferences, ignoring... [2022-04-28 04:10:23,461 INFO L181 SettingsManager]: Resetting Boogie Printer preferences to default values [2022-04-28 04:10:23,462 INFO L181 SettingsManager]: Resetting ChcSmtPrinter preferences to default values [2022-04-28 04:10:23,462 INFO L181 SettingsManager]: Resetting ReqPrinter preferences to default values [2022-04-28 04:10:23,463 INFO L181 SettingsManager]: Resetting Witness Printer preferences to default values [2022-04-28 04:10:23,463 INFO L184 SettingsManager]: Boogie PL CUP Parser provides no preferences, ignoring... [2022-04-28 04:10:23,463 INFO L181 SettingsManager]: Resetting CDTParser preferences to default values [2022-04-28 04:10:23,464 INFO L184 SettingsManager]: AutomataScriptParser provides no preferences, ignoring... [2022-04-28 04:10:23,464 INFO L184 SettingsManager]: ReqParser provides no preferences, ignoring... [2022-04-28 04:10:23,464 INFO L181 SettingsManager]: Resetting SmtParser preferences to default values [2022-04-28 04:10:23,465 INFO L181 SettingsManager]: Resetting Witness Parser preferences to default values [2022-04-28 04:10:23,470 INFO L188 SettingsManager]: Finished resetting all preferences to default values... [2022-04-28 04:10:23,471 INFO L101 SettingsManager]: Beginning loading settings from /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/settings/automizer/acceleratedInterpolation/acceleratedInterpolationJordan_32.epf [2022-04-28 04:10:23,482 INFO L113 SettingsManager]: Loading preferences was successful [2022-04-28 04:10:23,482 INFO L115 SettingsManager]: Preferences different from defaults after loading the file: [2022-04-28 04:10:23,483 INFO L136 SettingsManager]: Preferences of CACSL2BoogieTranslator differ from their defaults: [2022-04-28 04:10:23,483 INFO L138 SettingsManager]: * sizeof long=4 [2022-04-28 04:10:23,483 INFO L138 SettingsManager]: * Overapproximate operations on floating types=true [2022-04-28 04:10:23,483 INFO L138 SettingsManager]: * sizeof POINTER=4 [2022-04-28 04:10:23,483 INFO L138 SettingsManager]: * Check division by zero=IGNORE [2022-04-28 04:10:23,483 INFO L138 SettingsManager]: * Pointer to allocated memory at dereference=IGNORE [2022-04-28 04:10:23,484 INFO L138 SettingsManager]: * If two pointers are subtracted or compared they have the same base address=IGNORE [2022-04-28 04:10:23,484 INFO L138 SettingsManager]: * Check array bounds for arrays that are off heap=IGNORE [2022-04-28 04:10:23,484 INFO L138 SettingsManager]: * sizeof long double=12 [2022-04-28 04:10:23,484 INFO L138 SettingsManager]: * Check if freed pointer was valid=false [2022-04-28 04:10:23,484 INFO L138 SettingsManager]: * Use constant arrays=true [2022-04-28 04:10:23,484 INFO L138 SettingsManager]: * Pointer base address is valid at dereference=IGNORE [2022-04-28 04:10:23,485 INFO L136 SettingsManager]: Preferences of RCFGBuilder differ from their defaults: [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * Size of a code block=SequenceOfStatements [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * To the following directory=./dump/ [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * SMT solver=External_DefaultMode [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * Command for external solver=z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:10:23,485 INFO L136 SettingsManager]: Preferences of TraceAbstraction differ from their defaults: [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * Compute Interpolants along a Counterexample=Craig_NestedInterpolation [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * Trace refinement strategy=ACCELERATED_INTERPOLATION [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * Trace refinement strategy used in Accelerated Interpolation=CAMEL [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * Compute Hoare Annotation of negated interpolant automaton, abstraction and CFG=true [2022-04-28 04:10:23,485 INFO L138 SettingsManager]: * Loop acceleration method that is used by accelerated interpolation=JORDAN [2022-04-28 04:10:23,486 INFO L138 SettingsManager]: * Use separate solver for trace checks=false 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-28 04:10:23,681 INFO L75 nceAwareModelManager]: Repository-Root is: /tmp [2022-04-28 04:10:23,700 INFO L261 ainManager$Toolchain]: [Toolchain 1]: Applicable parser(s) successfully (re)initialized [2022-04-28 04:10:23,701 INFO L217 ainManager$Toolchain]: [Toolchain 1]: Toolchain selected. [2022-04-28 04:10:23,702 INFO L271 PluginConnector]: Initializing CDTParser... [2022-04-28 04:10:23,702 INFO L275 PluginConnector]: CDTParser initialized [2022-04-28 04:10:23,703 INFO L432 ainManager$Toolchain]: [Toolchain 1]: Parsing single file: /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/../../../trunk/examples/svcomp/verifythis/duplets.c [2022-04-28 04:10:23,736 INFO L220 CDTParser]: Created temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc4c0fe76/40e0473913b841a2837622335be06eda/FLAG4f1bb3589 [2022-04-28 04:10:24,126 INFO L306 CDTParser]: Found 1 translation units. [2022-04-28 04:10:24,126 INFO L160 CDTParser]: Scanning /storage/repos/ultimate/trunk/examples/svcomp/verifythis/duplets.c [2022-04-28 04:10:24,131 INFO L349 CDTParser]: About to delete temporary CDT project at /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc4c0fe76/40e0473913b841a2837622335be06eda/FLAG4f1bb3589 [2022-04-28 04:10:24,141 INFO L357 CDTParser]: Successfully deleted /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/data/cc4c0fe76/40e0473913b841a2837622335be06eda [2022-04-28 04:10:24,143 INFO L299 ainManager$Toolchain]: ####################### [Toolchain 1] ####################### [2022-04-28 04:10:24,144 INFO L131 ToolchainWalker]: Walking toolchain with 4 elements. [2022-04-28 04:10:24,145 INFO L113 PluginConnector]: ------------------------CACSL2BoogieTranslator---------------------------- [2022-04-28 04:10:24,146 INFO L271 PluginConnector]: Initializing CACSL2BoogieTranslator... [2022-04-28 04:10:24,148 INFO L275 PluginConnector]: CACSL2BoogieTranslator initialized [2022-04-28 04:10:24,152 INFO L185 PluginConnector]: Executing the observer ACSLObjectContainerObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,153 INFO L205 PluginConnector]: Invalid model from CACSL2BoogieTranslator for observer de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator.ACSLObjectContainerObserver@1cc1e9ee and model type de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24, skipping insertion in model container [2022-04-28 04:10:24,153 INFO L185 PluginConnector]: Executing the observer CACSL2BoogieTranslatorObserver from plugin CACSL2BoogieTranslator for "CDTParser AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,157 INFO L145 MainTranslator]: Starting translation in SV-COMP mode [2022-04-28 04:10:24,167 INFO L178 MainTranslator]: Built tables and reachable declarations [2022-04-28 04:10:24,299 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/verifythis/duplets.c[485,498] [2022-04-28 04:10:24,338 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:10:24,347 INFO L203 MainTranslator]: Completed pre-run [2022-04-28 04:10:24,357 WARN L230 ndardFunctionHandler]: Function reach_error is already implemented but we override the implementation for the call at /storage/repos/ultimate/trunk/examples/svcomp/verifythis/duplets.c[485,498] [2022-04-28 04:10:24,380 INFO L210 PostProcessor]: Analyzing one entry point: main [2022-04-28 04:10:24,392 INFO L208 MainTranslator]: Completed translation [2022-04-28 04:10:24,392 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24 WrapperNode [2022-04-28 04:10:24,393 INFO L132 PluginConnector]: ------------------------ END CACSL2BoogieTranslator---------------------------- [2022-04-28 04:10:24,394 INFO L113 PluginConnector]: ------------------------Boogie Preprocessor---------------------------- [2022-04-28 04:10:24,394 INFO L271 PluginConnector]: Initializing Boogie Preprocessor... [2022-04-28 04:10:24,394 INFO L275 PluginConnector]: Boogie Preprocessor initialized [2022-04-28 04:10:24,401 INFO L185 PluginConnector]: Executing the observer EnsureBoogieModelObserver from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,401 INFO L185 PluginConnector]: Executing the observer TypeChecker from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,414 INFO L185 PluginConnector]: Executing the observer ConstExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,414 INFO L185 PluginConnector]: Executing the observer StructExpander from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,430 INFO L185 PluginConnector]: Executing the observer UnstructureCode from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,433 INFO L185 PluginConnector]: Executing the observer FunctionInliner from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,434 INFO L185 PluginConnector]: Executing the observer BoogieSymbolTableConstructor from plugin Boogie Preprocessor for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,436 INFO L132 PluginConnector]: ------------------------ END Boogie Preprocessor---------------------------- [2022-04-28 04:10:24,436 INFO L113 PluginConnector]: ------------------------RCFGBuilder---------------------------- [2022-04-28 04:10:24,436 INFO L271 PluginConnector]: Initializing RCFGBuilder... [2022-04-28 04:10:24,436 INFO L275 PluginConnector]: RCFGBuilder initialized [2022-04-28 04:10:24,438 INFO L185 PluginConnector]: Executing the observer RCFGBuilderObserver from plugin RCFGBuilder for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (1/1) ... [2022-04-28 04:10:24,444 INFO L173 SolverBuilder]: Constructing external solver with command: z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 [2022-04-28 04:10:24,452 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:10:24,461 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-28 04:10:24,467 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-28 04:10:24,490 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.init [2022-04-28 04:10:24,490 INFO L138 BoogieDeclarations]: Found implementation of procedure ULTIMATE.start [2022-04-28 04:10:24,490 INFO L138 BoogieDeclarations]: Found implementation of procedure reach_error [2022-04-28 04:10:24,490 INFO L138 BoogieDeclarations]: Found implementation of procedure __VERIFIER_assert [2022-04-28 04:10:24,490 INFO L138 BoogieDeclarations]: Found implementation of procedure assume_abort_if_not [2022-04-28 04:10:24,490 INFO L138 BoogieDeclarations]: Found implementation of procedure mkdup [2022-04-28 04:10:24,491 INFO L138 BoogieDeclarations]: Found implementation of procedure finddup [2022-04-28 04:10:24,491 INFO L138 BoogieDeclarations]: Found implementation of procedure main [2022-04-28 04:10:24,491 INFO L138 BoogieDeclarations]: Found implementation of procedure #Ultimate.meminit [2022-04-28 04:10:24,491 INFO L130 BoogieDeclarations]: Found specification of procedure calloc [2022-04-28 04:10:24,491 INFO L130 BoogieDeclarations]: Found specification of procedure free [2022-04-28 04:10:24,491 INFO L130 BoogieDeclarations]: Found specification of procedure abort [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure __assert_fail [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure reach_error [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocInit [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_assert [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure __VERIFIER_nondet_int [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure assume_abort_if_not [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure mkdup [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure write~int [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure finddup [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure read~int [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure main [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnHeap [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.allocOnStack [2022-04-28 04:10:24,492 INFO L130 BoogieDeclarations]: Found specification of procedure #Ultimate.meminit [2022-04-28 04:10:24,493 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.dealloc [2022-04-28 04:10:24,493 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.init [2022-04-28 04:10:24,493 INFO L130 BoogieDeclarations]: Found specification of procedure write~init~int [2022-04-28 04:10:24,493 INFO L130 BoogieDeclarations]: Found specification of procedure ULTIMATE.start [2022-04-28 04:10:24,563 INFO L234 CfgBuilder]: Building ICFG [2022-04-28 04:10:24,564 INFO L260 CfgBuilder]: Building CFG for each procedure with an implementation [2022-04-28 04:10:24,831 INFO L275 CfgBuilder]: Performing block encoding [2022-04-28 04:10:24,836 INFO L294 CfgBuilder]: Using the 1 location(s) as analysis (start of procedure ULTIMATE.start) [2022-04-28 04:10:24,837 INFO L299 CfgBuilder]: Removed 2 assume(true) statements. [2022-04-28 04:10:24,838 INFO L202 PluginConnector]: Adding new model de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:10:24 BoogieIcfgContainer [2022-04-28 04:10:24,838 INFO L132 PluginConnector]: ------------------------ END RCFGBuilder---------------------------- [2022-04-28 04:10:24,839 INFO L113 PluginConnector]: ------------------------TraceAbstraction---------------------------- [2022-04-28 04:10:24,839 INFO L271 PluginConnector]: Initializing TraceAbstraction... [2022-04-28 04:10:24,844 INFO L275 PluginConnector]: TraceAbstraction initialized [2022-04-28 04:10:24,844 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "CDTParser AST 28.04 04:10:24" (1/3) ... [2022-04-28 04:10:24,845 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3ca85992 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:10:24, skipping insertion in model container [2022-04-28 04:10:24,845 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.cacsl2boogietranslator AST 28.04 04:10:24" (2/3) ... [2022-04-28 04:10:24,845 INFO L205 PluginConnector]: Invalid model from TraceAbstraction for observer de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver@3ca85992 and model type de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction AST 28.04 04:10:24, skipping insertion in model container [2022-04-28 04:10:24,845 INFO L185 PluginConnector]: Executing the observer TraceAbstractionObserver from plugin TraceAbstraction for "de.uni_freiburg.informatik.ultimate.plugins.generator.rcfgbuilder CFG 28.04 04:10:24" (3/3) ... [2022-04-28 04:10:24,846 INFO L111 eAbstractionObserver]: Analyzing ICFG duplets.c [2022-04-28 04:10:24,857 INFO L201 ceAbstractionStarter]: Automizer settings: Hoare:true NWA Interpolation:Craig_NestedInterpolation Determinization: PREDICATE_ABSTRACTION [2022-04-28 04:10:24,857 INFO L160 ceAbstractionStarter]: Applying trace abstraction to program that has 1 error locations. [2022-04-28 04:10:24,898 INFO L356 AbstractCegarLoop]: ======== Iteration 0 == of CEGAR loop == AllErrorsAtOnce ======== [2022-04-28 04:10:24,901 INFO L357 AbstractCegarLoop]: Settings: SEPARATE_VIOLATION_CHECK=true, mInterprocedural=true, mMaxIterations=1000000, mWatchIteration=1000000, mArtifact=RCFG, mInterpolation=Craig_NestedInterpolation, mInterpolantAutomaton=STRAIGHT_LINE, mDumpAutomata=false, mAutomataFormat=ATS_NUMERATE, mDumpPath=., mDeterminiation=PREDICATE_ABSTRACTION, mMinimize=MINIMIZE_SEVPA, mHoare=true, mAutomataTypeConcurrency=FINITE_AUTOMATA, mHoareTripleChecks=INCREMENTAL, mHoareAnnotationPositions=All, mDumpOnlyReuseAutomata=false, mLimitTraceHistogram=0, mErrorLocTimeLimit=0, mLimitPathProgramCount=0, mCollectInterpolantStatistics=true, mHeuristicEmptinessCheck=false, mHeuristicEmptinessCheckAStarHeuristic=ZERO, mHeuristicEmptinessCheckAStarHeuristicRandomSeed=1337, mHeuristicEmptinessCheckSmtFeatureScoringMethod=DAGSIZE, mSMTFeatureExtraction=false, mSMTFeatureExtractionDumpPath=., mOverrideInterpolantAutomaton=false, mMcrInterpolantMethod=WP, mPorIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@29ee392d, mLbeIndependenceSettings=de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.partialorder.independence.IndependenceSettings@72563457 [2022-04-28 04:10:24,902 INFO L358 AbstractCegarLoop]: Starting to check reachability of 1 error locations. [2022-04-28 04:10:24,907 INFO L276 IsEmpty]: Start isEmpty. Operand has 59 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 37 states have internal predecessors, (46), 14 states have call successors, (14), 7 states have call predecessors, (14), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) [2022-04-28 04:10:24,911 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:10:24,912 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:10:24,912 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:10:24,912 INFO L420 AbstractCegarLoop]: === Iteration 1 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:10:24,915 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:10:24,916 INFO L85 PathProgramCache]: Analyzing trace with hash -1531213237, now seen corresponding path program 1 times [2022-04-28 04:10:24,921 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:24,921 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1554656864] [2022-04-28 04:10:24,929 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:10:24,930 INFO L85 PathProgramCache]: Analyzing trace with hash -1531213237, now seen corresponding path program 2 times [2022-04-28 04:10:24,932 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:10:24,932 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [585243529] [2022-04-28 04:10:24,932 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:10:24,933 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:10:25,036 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,088 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:10:25,100 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,111 INFO L290 TraceCheckUtils]: 0: Hoare triple {98#(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(10, 2);call #Ultimate.allocInit(12, 3); {62#true} is VALID [2022-04-28 04:10:25,112 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} assume true; {62#true} is VALID [2022-04-28 04:10:25,113 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {62#true} {62#true} #122#return; {62#true} is VALID [2022-04-28 04:10:25,113 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:25,117 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,124 INFO L290 TraceCheckUtils]: 0: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,124 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,125 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,125 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63#false} {62#true} #98#return; {63#false} is VALID [2022-04-28 04:10:25,136 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:10:25,140 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,151 INFO L290 TraceCheckUtils]: 0: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {62#true} is VALID [2022-04-28 04:10:25,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} assume true; {62#true} is VALID [2022-04-28 04:10:25,152 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {62#true} {63#false} #100#return; {63#false} is VALID [2022-04-28 04:10:25,152 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:10:25,167 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,177 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:10:25,179 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,198 INFO L290 TraceCheckUtils]: 0: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,198 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,198 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,199 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63#false} {62#true} #116#return; {63#false} is VALID [2022-04-28 04:10:25,199 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:25,200 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,204 INFO L290 TraceCheckUtils]: 0: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,204 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,204 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,205 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63#false} {63#false} #118#return; {63#false} is VALID [2022-04-28 04:10:25,205 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:10:25,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,209 INFO L290 TraceCheckUtils]: 0: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,210 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,210 INFO L290 TraceCheckUtils]: 2: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,210 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {63#false} {63#false} #120#return; {63#false} is VALID [2022-04-28 04:10:25,211 INFO L290 TraceCheckUtils]: 0: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {62#true} is VALID [2022-04-28 04:10:25,211 INFO L272 TraceCheckUtils]: 1: Hoare triple {62#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {62#true} is VALID [2022-04-28 04:10:25,211 INFO L290 TraceCheckUtils]: 2: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,211 INFO L290 TraceCheckUtils]: 3: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,212 INFO L290 TraceCheckUtils]: 4: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,212 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {63#false} {62#true} #116#return; {63#false} is VALID [2022-04-28 04:10:25,212 INFO L272 TraceCheckUtils]: 6: Hoare triple {63#false} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {62#true} is VALID [2022-04-28 04:10:25,212 INFO L290 TraceCheckUtils]: 7: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,212 INFO L290 TraceCheckUtils]: 8: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,213 INFO L290 TraceCheckUtils]: 9: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,213 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63#false} {63#false} #118#return; {63#false} is VALID [2022-04-28 04:10:25,213 INFO L272 TraceCheckUtils]: 11: Hoare triple {63#false} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {62#true} is VALID [2022-04-28 04:10:25,213 INFO L290 TraceCheckUtils]: 12: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,215 INFO L290 TraceCheckUtils]: 13: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,216 INFO L290 TraceCheckUtils]: 14: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,216 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {63#false} {63#false} #120#return; {63#false} is VALID [2022-04-28 04:10:25,216 INFO L290 TraceCheckUtils]: 16: Hoare triple {63#false} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {63#false} is VALID [2022-04-28 04:10:25,216 INFO L290 TraceCheckUtils]: 17: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,216 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {63#false} {63#false} #102#return; {63#false} is VALID [2022-04-28 04:10:25,217 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:10:25,223 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:25,229 INFO L290 TraceCheckUtils]: 0: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {62#true} is VALID [2022-04-28 04:10:25,229 INFO L290 TraceCheckUtils]: 1: Hoare triple {62#true} assume !(~i~1 < ~n); {62#true} is VALID [2022-04-28 04:10:25,229 INFO L290 TraceCheckUtils]: 2: Hoare triple {62#true} #res := 0; {62#true} is VALID [2022-04-28 04:10:25,229 INFO L290 TraceCheckUtils]: 3: Hoare triple {62#true} assume true; {62#true} is VALID [2022-04-28 04:10:25,230 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {62#true} {63#false} #104#return; {63#false} is VALID [2022-04-28 04:10:25,232 INFO L272 TraceCheckUtils]: 0: Hoare triple {62#true} call ULTIMATE.init(); {98#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:10:25,232 INFO L290 TraceCheckUtils]: 1: Hoare triple {98#(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(10, 2);call #Ultimate.allocInit(12, 3); {62#true} is VALID [2022-04-28 04:10:25,234 INFO L290 TraceCheckUtils]: 2: Hoare triple {62#true} assume true; {62#true} is VALID [2022-04-28 04:10:25,234 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {62#true} {62#true} #122#return; {62#true} is VALID [2022-04-28 04:10:25,234 INFO L272 TraceCheckUtils]: 4: Hoare triple {62#true} call #t~ret27 := main(); {62#true} is VALID [2022-04-28 04:10:25,235 INFO L290 TraceCheckUtils]: 5: Hoare triple {62#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {62#true} is VALID [2022-04-28 04:10:25,235 INFO L272 TraceCheckUtils]: 6: Hoare triple {62#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {62#true} is VALID [2022-04-28 04:10:25,235 INFO L290 TraceCheckUtils]: 7: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,237 INFO L290 TraceCheckUtils]: 8: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,237 INFO L290 TraceCheckUtils]: 9: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,237 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {63#false} {62#true} #98#return; {63#false} is VALID [2022-04-28 04:10:25,237 INFO L290 TraceCheckUtils]: 11: Hoare triple {63#false} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {63#false} is VALID [2022-04-28 04:10:25,238 INFO L272 TraceCheckUtils]: 12: Hoare triple {63#false} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {99#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:25,238 INFO L290 TraceCheckUtils]: 13: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {62#true} is VALID [2022-04-28 04:10:25,238 INFO L290 TraceCheckUtils]: 14: Hoare triple {62#true} assume true; {62#true} is VALID [2022-04-28 04:10:25,238 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {62#true} {63#false} #100#return; {63#false} is VALID [2022-04-28 04:10:25,238 INFO L290 TraceCheckUtils]: 16: Hoare triple {63#false} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {63#false} is VALID [2022-04-28 04:10:25,239 INFO L272 TraceCheckUtils]: 17: Hoare triple {63#false} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {99#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:25,239 INFO L290 TraceCheckUtils]: 18: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {62#true} is VALID [2022-04-28 04:10:25,239 INFO L272 TraceCheckUtils]: 19: Hoare triple {62#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {62#true} is VALID [2022-04-28 04:10:25,239 INFO L290 TraceCheckUtils]: 20: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,240 INFO L290 TraceCheckUtils]: 21: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,240 INFO L290 TraceCheckUtils]: 22: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,241 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {63#false} {62#true} #116#return; {63#false} is VALID [2022-04-28 04:10:25,241 INFO L272 TraceCheckUtils]: 24: Hoare triple {63#false} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {62#true} is VALID [2022-04-28 04:10:25,241 INFO L290 TraceCheckUtils]: 25: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,241 INFO L290 TraceCheckUtils]: 26: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,241 INFO L290 TraceCheckUtils]: 27: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,242 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {63#false} {63#false} #118#return; {63#false} is VALID [2022-04-28 04:10:25,242 INFO L272 TraceCheckUtils]: 29: Hoare triple {63#false} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {62#true} is VALID [2022-04-28 04:10:25,242 INFO L290 TraceCheckUtils]: 30: Hoare triple {62#true} ~cond := #in~cond; {62#true} is VALID [2022-04-28 04:10:25,242 INFO L290 TraceCheckUtils]: 31: Hoare triple {62#true} assume 0 == ~cond;assume false; {63#false} is VALID [2022-04-28 04:10:25,243 INFO L290 TraceCheckUtils]: 32: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,243 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {63#false} {63#false} #120#return; {63#false} is VALID [2022-04-28 04:10:25,243 INFO L290 TraceCheckUtils]: 34: Hoare triple {63#false} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {63#false} is VALID [2022-04-28 04:10:25,243 INFO L290 TraceCheckUtils]: 35: Hoare triple {63#false} assume true; {63#false} is VALID [2022-04-28 04:10:25,243 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {63#false} {63#false} #102#return; {63#false} is VALID [2022-04-28 04:10:25,244 INFO L290 TraceCheckUtils]: 37: Hoare triple {63#false} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {63#false} is VALID [2022-04-28 04:10:25,244 INFO L272 TraceCheckUtils]: 38: Hoare triple {63#false} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {99#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:25,244 INFO L290 TraceCheckUtils]: 39: Hoare triple {99#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {62#true} is VALID [2022-04-28 04:10:25,244 INFO L290 TraceCheckUtils]: 40: Hoare triple {62#true} assume !(~i~1 < ~n); {62#true} is VALID [2022-04-28 04:10:25,246 INFO L290 TraceCheckUtils]: 41: Hoare triple {62#true} #res := 0; {62#true} is VALID [2022-04-28 04:10:25,246 INFO L290 TraceCheckUtils]: 42: Hoare triple {62#true} assume true; {62#true} is VALID [2022-04-28 04:10:25,246 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {62#true} {63#false} #104#return; {63#false} is VALID [2022-04-28 04:10:25,247 INFO L290 TraceCheckUtils]: 44: Hoare triple {63#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {63#false} is VALID [2022-04-28 04:10:25,247 INFO L272 TraceCheckUtils]: 45: Hoare triple {63#false} call __VERIFIER_assert(~r~0); {63#false} is VALID [2022-04-28 04:10:25,247 INFO L290 TraceCheckUtils]: 46: Hoare triple {63#false} ~cond := #in~cond; {63#false} is VALID [2022-04-28 04:10:25,247 INFO L290 TraceCheckUtils]: 47: Hoare triple {63#false} assume 0 == ~cond; {63#false} is VALID [2022-04-28 04:10:25,247 INFO L290 TraceCheckUtils]: 48: Hoare triple {63#false} assume !false; {63#false} is VALID [2022-04-28 04:10:25,248 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:10:25,248 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:10:25,248 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [585243529] [2022-04-28 04:10:25,249 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [585243529] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:25,249 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:25,249 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 04:10:25,253 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:10:25,253 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1554656864] [2022-04-28 04:10:25,253 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1554656864] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:25,253 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:25,254 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [4] imperfect sequences [] total 4 [2022-04-28 04:10:25,254 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1818356856] [2022-04-28 04:10:25,254 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:10:25,259 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 49 [2022-04-28 04:10:25,260 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:10:25,263 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:10:25,335 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 40 edges. 40 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:25,335 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 4 states [2022-04-28 04:10:25,336 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:25,352 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 4 interpolants. [2022-04-28 04:10:25,352 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=5, Invalid=7, Unknown=0, NotChecked=0, Total=12 [2022-04-28 04:10:25,355 INFO L87 Difference]: Start difference. First operand has 59 states, 36 states have (on average 1.2777777777777777) internal successors, (46), 37 states have internal predecessors, (46), 14 states have call successors, (14), 7 states have call predecessors, (14), 7 states have return successors, (14), 14 states have call predecessors, (14), 14 states have call successors, (14) Second operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:10:25,698 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:25,699 INFO L93 Difference]: Finished difference Result 113 states and 153 transitions. [2022-04-28 04:10:25,699 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 5 states. [2022-04-28 04:10:25,699 INFO L78 Accepts]: Start accepts. Automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) Word has length 49 [2022-04-28 04:10:25,700 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:10:25,701 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:10:25,712 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 153 transitions. [2022-04-28 04:10:25,712 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:10:25,717 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 5 states to 5 states and 153 transitions. [2022-04-28 04:10:25,717 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 5 states and 153 transitions. [2022-04-28 04:10:25,867 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 153 edges. 153 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:25,874 INFO L225 Difference]: With dead ends: 113 [2022-04-28 04:10:25,874 INFO L226 Difference]: Without dead ends: 56 [2022-04-28 04:10:25,876 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 25 GetRequests, 22 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-28 04:10:25,878 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 59 mSDsluCounter, 2 mSDsCounter, 0 mSdLazyCounter, 50 mSolverCounterSat, 40 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 67 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 90 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 40 IncrementalHoareTripleChecker+Valid, 50 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:10:25,878 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [67 Valid, 55 Invalid, 90 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [40 Valid, 50 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:10:25,888 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 56 states. [2022-04-28 04:10:25,899 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 56 to 54. [2022-04-28 04:10:25,899 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:10:25,900 INFO L82 GeneralOperation]: Start isEquivalent. First operand 56 states. Second operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:10:25,901 INFO L74 IsIncluded]: Start isIncluded. First operand 56 states. Second operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:10:25,901 INFO L87 Difference]: Start difference. First operand 56 states. Second operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:10:25,905 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:25,905 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-28 04:10:25,905 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-28 04:10:25,906 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:25,906 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:25,906 INFO L74 IsIncluded]: Start isIncluded. First operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 56 states. [2022-04-28 04:10:25,907 INFO L87 Difference]: Start difference. First operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 56 states. [2022-04-28 04:10:25,909 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:25,909 INFO L93 Difference]: Finished difference Result 56 states and 67 transitions. [2022-04-28 04:10:25,910 INFO L276 IsEmpty]: Start isEmpty. Operand 56 states and 67 transitions. [2022-04-28 04:10:25,910 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:25,910 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:25,910 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:10:25,910 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:10:25,911 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 54 states, 33 states have (on average 1.1818181818181819) internal successors, (39), 34 states have internal predecessors, (39), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:10:25,913 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 54 states to 54 states and 65 transitions. [2022-04-28 04:10:25,914 INFO L78 Accepts]: Start accepts. Automaton has 54 states and 65 transitions. Word has length 49 [2022-04-28 04:10:25,914 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:10:25,914 INFO L495 AbstractCegarLoop]: Abstraction has 54 states and 65 transitions. [2022-04-28 04:10:25,914 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 4 states, 4 states have (on average 5.5) internal successors, (22), 2 states have internal predecessors, (22), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 2 states have call successors, (8) [2022-04-28 04:10:25,914 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 54 states and 65 transitions. [2022-04-28 04:10:25,966 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-28 04:10:25,966 INFO L276 IsEmpty]: Start isEmpty. Operand 54 states and 65 transitions. [2022-04-28 04:10:25,967 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 50 [2022-04-28 04:10:25,967 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:10:25,967 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:10:25,967 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable0 [2022-04-28 04:10:25,967 INFO L420 AbstractCegarLoop]: === Iteration 2 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:10:25,968 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:10:25,968 INFO L85 PathProgramCache]: Analyzing trace with hash -1121655349, now seen corresponding path program 1 times [2022-04-28 04:10:25,968 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:25,968 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [768299332] [2022-04-28 04:10:25,968 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:10:25,969 INFO L85 PathProgramCache]: Analyzing trace with hash -1121655349, now seen corresponding path program 2 times [2022-04-28 04:10:25,969 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:10:25,969 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [728305322] [2022-04-28 04:10:25,969 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:10:25,969 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:10:26,044 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,082 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:10:26,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,087 INFO L290 TraceCheckUtils]: 0: Hoare triple {600#(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(10, 2);call #Ultimate.allocInit(12, 3); {563#true} is VALID [2022-04-28 04:10:26,087 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,087 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {563#true} {563#true} #122#return; {563#true} is VALID [2022-04-28 04:10:26,087 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:26,088 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,091 INFO L290 TraceCheckUtils]: 0: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,091 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,091 INFO L290 TraceCheckUtils]: 2: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,091 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {563#true} {563#true} #98#return; {563#true} is VALID [2022-04-28 04:10:26,094 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:10:26,095 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,098 INFO L290 TraceCheckUtils]: 0: Hoare triple {601#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {563#true} is VALID [2022-04-28 04:10:26,098 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,098 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {563#true} {563#true} #100#return; {563#true} is VALID [2022-04-28 04:10:26,098 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:10:26,112 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:10:26,152 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {563#true} ~cond := #in~cond; {617#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:26,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {617#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:26,176 INFO L290 TraceCheckUtils]: 2: Hoare triple {618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:26,176 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {618#(not (= |assume_abort_if_not_#in~cond| 0))} {602#(= |mkdup_#in~n| mkdup_~n)} #116#return; {607#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} is VALID [2022-04-28 04:10:26,176 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:26,178 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,183 INFO L290 TraceCheckUtils]: 0: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {563#true} {607#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} #118#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,184 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:10:26,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,188 INFO L290 TraceCheckUtils]: 0: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,188 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,188 INFO L290 TraceCheckUtils]: 2: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {563#true} {612#(<= 1 |mkdup_#in~n|)} #120#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,190 INFO L290 TraceCheckUtils]: 0: Hoare triple {601#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {602#(= |mkdup_#in~n| mkdup_~n)} is VALID [2022-04-28 04:10:26,190 INFO L272 TraceCheckUtils]: 1: Hoare triple {602#(= |mkdup_#in~n| mkdup_~n)} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,190 INFO L290 TraceCheckUtils]: 2: Hoare triple {563#true} ~cond := #in~cond; {617#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:26,190 INFO L290 TraceCheckUtils]: 3: Hoare triple {617#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:26,191 INFO L290 TraceCheckUtils]: 4: Hoare triple {618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:26,192 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {618#(not (= |assume_abort_if_not_#in~cond| 0))} {602#(= |mkdup_#in~n| mkdup_~n)} #116#return; {607#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} is VALID [2022-04-28 04:10:26,192 INFO L272 TraceCheckUtils]: 6: Hoare triple {607#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,192 INFO L290 TraceCheckUtils]: 7: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,192 INFO L290 TraceCheckUtils]: 8: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,192 INFO L290 TraceCheckUtils]: 9: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,193 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {563#true} {607#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} #118#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,193 INFO L272 TraceCheckUtils]: 11: Hoare triple {612#(<= 1 |mkdup_#in~n|)} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,193 INFO L290 TraceCheckUtils]: 12: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,193 INFO L290 TraceCheckUtils]: 13: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,193 INFO L290 TraceCheckUtils]: 14: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,194 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {563#true} {612#(<= 1 |mkdup_#in~n|)} #120#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,194 INFO L290 TraceCheckUtils]: 16: Hoare triple {612#(<= 1 |mkdup_#in~n|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,194 INFO L290 TraceCheckUtils]: 17: Hoare triple {612#(<= 1 |mkdup_#in~n|)} assume true; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,195 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {612#(<= 1 |mkdup_#in~n|)} {563#true} #102#return; {594#(<= 1 main_~n~0)} is VALID [2022-04-28 04:10:26,195 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:10:26,198 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,230 INFO L290 TraceCheckUtils]: 0: Hoare triple {601#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {619#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} is VALID [2022-04-28 04:10:26,230 INFO L290 TraceCheckUtils]: 1: Hoare triple {619#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} assume !(~i~1 < ~n); {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,231 INFO L290 TraceCheckUtils]: 2: Hoare triple {620#(<= |finddup_#in~n| 0)} #res := 0; {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,231 INFO L290 TraceCheckUtils]: 3: Hoare triple {620#(<= |finddup_#in~n| 0)} assume true; {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,232 INFO L284 TraceCheckUtils]: 4: Hoare quadruple {620#(<= |finddup_#in~n| 0)} {594#(<= 1 main_~n~0)} #104#return; {564#false} is VALID [2022-04-28 04:10:26,233 INFO L272 TraceCheckUtils]: 0: Hoare triple {563#true} call ULTIMATE.init(); {600#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:10:26,233 INFO L290 TraceCheckUtils]: 1: Hoare triple {600#(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(10, 2);call #Ultimate.allocInit(12, 3); {563#true} is VALID [2022-04-28 04:10:26,233 INFO L290 TraceCheckUtils]: 2: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,233 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {563#true} {563#true} #122#return; {563#true} is VALID [2022-04-28 04:10:26,233 INFO L272 TraceCheckUtils]: 4: Hoare triple {563#true} call #t~ret27 := main(); {563#true} is VALID [2022-04-28 04:10:26,233 INFO L290 TraceCheckUtils]: 5: Hoare triple {563#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {563#true} is VALID [2022-04-28 04:10:26,233 INFO L272 TraceCheckUtils]: 6: Hoare triple {563#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,234 INFO L290 TraceCheckUtils]: 7: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,234 INFO L290 TraceCheckUtils]: 8: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,234 INFO L290 TraceCheckUtils]: 9: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,234 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {563#true} {563#true} #98#return; {563#true} is VALID [2022-04-28 04:10:26,234 INFO L290 TraceCheckUtils]: 11: Hoare triple {563#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {563#true} is VALID [2022-04-28 04:10:26,235 INFO L272 TraceCheckUtils]: 12: Hoare triple {563#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {601#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:26,235 INFO L290 TraceCheckUtils]: 13: Hoare triple {601#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {563#true} is VALID [2022-04-28 04:10:26,235 INFO L290 TraceCheckUtils]: 14: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,235 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {563#true} {563#true} #100#return; {563#true} is VALID [2022-04-28 04:10:26,235 INFO L290 TraceCheckUtils]: 16: Hoare triple {563#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {563#true} is VALID [2022-04-28 04:10:26,236 INFO L272 TraceCheckUtils]: 17: Hoare triple {563#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {601#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:26,236 INFO L290 TraceCheckUtils]: 18: Hoare triple {601#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {602#(= |mkdup_#in~n| mkdup_~n)} is VALID [2022-04-28 04:10:26,236 INFO L272 TraceCheckUtils]: 19: Hoare triple {602#(= |mkdup_#in~n| mkdup_~n)} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,237 INFO L290 TraceCheckUtils]: 20: Hoare triple {563#true} ~cond := #in~cond; {617#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:26,237 INFO L290 TraceCheckUtils]: 21: Hoare triple {617#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:26,237 INFO L290 TraceCheckUtils]: 22: Hoare triple {618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:26,238 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {618#(not (= |assume_abort_if_not_#in~cond| 0))} {602#(= |mkdup_#in~n| mkdup_~n)} #116#return; {607#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} is VALID [2022-04-28 04:10:26,238 INFO L272 TraceCheckUtils]: 24: Hoare triple {607#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,239 INFO L290 TraceCheckUtils]: 25: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,239 INFO L290 TraceCheckUtils]: 26: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,239 INFO L290 TraceCheckUtils]: 27: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,239 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {563#true} {607#(and (<= 1 mkdup_~n) (= |mkdup_#in~n| mkdup_~n))} #118#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,240 INFO L272 TraceCheckUtils]: 29: Hoare triple {612#(<= 1 |mkdup_#in~n|)} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,240 INFO L290 TraceCheckUtils]: 30: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,240 INFO L290 TraceCheckUtils]: 31: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,240 INFO L290 TraceCheckUtils]: 32: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,240 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {563#true} {612#(<= 1 |mkdup_#in~n|)} #120#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,241 INFO L290 TraceCheckUtils]: 34: Hoare triple {612#(<= 1 |mkdup_#in~n|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,242 INFO L290 TraceCheckUtils]: 35: Hoare triple {612#(<= 1 |mkdup_#in~n|)} assume true; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,242 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {612#(<= 1 |mkdup_#in~n|)} {563#true} #102#return; {594#(<= 1 main_~n~0)} is VALID [2022-04-28 04:10:26,243 INFO L290 TraceCheckUtils]: 37: Hoare triple {594#(<= 1 main_~n~0)} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {594#(<= 1 main_~n~0)} is VALID [2022-04-28 04:10:26,245 INFO L272 TraceCheckUtils]: 38: Hoare triple {594#(<= 1 main_~n~0)} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {601#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:26,246 INFO L290 TraceCheckUtils]: 39: Hoare triple {601#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {619#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} is VALID [2022-04-28 04:10:26,246 INFO L290 TraceCheckUtils]: 40: Hoare triple {619#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} assume !(~i~1 < ~n); {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,247 INFO L290 TraceCheckUtils]: 41: Hoare triple {620#(<= |finddup_#in~n| 0)} #res := 0; {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,248 INFO L290 TraceCheckUtils]: 42: Hoare triple {620#(<= |finddup_#in~n| 0)} assume true; {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,249 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {620#(<= |finddup_#in~n| 0)} {594#(<= 1 main_~n~0)} #104#return; {564#false} is VALID [2022-04-28 04:10:26,249 INFO L290 TraceCheckUtils]: 44: Hoare triple {564#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {564#false} is VALID [2022-04-28 04:10:26,249 INFO L272 TraceCheckUtils]: 45: Hoare triple {564#false} call __VERIFIER_assert(~r~0); {564#false} is VALID [2022-04-28 04:10:26,249 INFO L290 TraceCheckUtils]: 46: Hoare triple {564#false} ~cond := #in~cond; {564#false} is VALID [2022-04-28 04:10:26,249 INFO L290 TraceCheckUtils]: 47: Hoare triple {564#false} assume 0 == ~cond; {564#false} is VALID [2022-04-28 04:10:26,249 INFO L290 TraceCheckUtils]: 48: Hoare triple {564#false} assume !false; {564#false} is VALID [2022-04-28 04:10:26,250 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 3 proven. 6 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:10:26,250 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:10:26,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [728305322] [2022-04-28 04:10:26,250 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [728305322] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:10:26,250 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1904679041] [2022-04-28 04:10:26,250 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:10:26,251 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:10:26,251 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:10:26,252 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-28 04:10:26,281 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-28 04:10:26,338 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:10:26,339 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:10:26,354 INFO L263 TraceCheckSpWp]: Trace formula consists of 224 conjuncts, 11 conjunts are in the unsatisfiable core [2022-04-28 04:10:26,380 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:26,384 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:10:26,662 INFO L272 TraceCheckUtils]: 0: Hoare triple {563#true} call ULTIMATE.init(); {563#true} is VALID [2022-04-28 04:10:26,662 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#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(10, 2);call #Ultimate.allocInit(12, 3); {563#true} is VALID [2022-04-28 04:10:26,663 INFO L290 TraceCheckUtils]: 2: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,663 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {563#true} {563#true} #122#return; {563#true} is VALID [2022-04-28 04:10:26,663 INFO L272 TraceCheckUtils]: 4: Hoare triple {563#true} call #t~ret27 := main(); {563#true} is VALID [2022-04-28 04:10:26,664 INFO L290 TraceCheckUtils]: 5: Hoare triple {563#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {563#true} is VALID [2022-04-28 04:10:26,664 INFO L272 TraceCheckUtils]: 6: Hoare triple {563#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,665 INFO L290 TraceCheckUtils]: 7: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,665 INFO L290 TraceCheckUtils]: 8: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,669 INFO L290 TraceCheckUtils]: 9: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,670 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {563#true} {563#true} #98#return; {563#true} is VALID [2022-04-28 04:10:26,670 INFO L290 TraceCheckUtils]: 11: Hoare triple {563#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {563#true} is VALID [2022-04-28 04:10:26,670 INFO L272 TraceCheckUtils]: 12: Hoare triple {563#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {563#true} is VALID [2022-04-28 04:10:26,670 INFO L290 TraceCheckUtils]: 13: Hoare triple {563#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {563#true} is VALID [2022-04-28 04:10:26,671 INFO L290 TraceCheckUtils]: 14: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,671 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {563#true} {563#true} #100#return; {563#true} is VALID [2022-04-28 04:10:26,671 INFO L290 TraceCheckUtils]: 16: Hoare triple {563#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {563#true} is VALID [2022-04-28 04:10:26,671 INFO L272 TraceCheckUtils]: 17: Hoare triple {563#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {563#true} is VALID [2022-04-28 04:10:26,672 INFO L290 TraceCheckUtils]: 18: Hoare triple {563#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {678#(<= mkdup_~n |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,672 INFO L272 TraceCheckUtils]: 19: Hoare triple {678#(<= mkdup_~n |mkdup_#in~n|)} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,673 INFO L290 TraceCheckUtils]: 20: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,673 INFO L290 TraceCheckUtils]: 21: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,673 INFO L290 TraceCheckUtils]: 22: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,673 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {563#true} {678#(<= mkdup_~n |mkdup_#in~n|)} #116#return; {678#(<= mkdup_~n |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,673 INFO L272 TraceCheckUtils]: 24: Hoare triple {678#(<= mkdup_~n |mkdup_#in~n|)} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,674 INFO L290 TraceCheckUtils]: 25: Hoare triple {563#true} ~cond := #in~cond; {617#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:26,674 INFO L290 TraceCheckUtils]: 26: Hoare triple {617#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:26,675 INFO L290 TraceCheckUtils]: 27: Hoare triple {618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:26,675 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {618#(not (= |assume_abort_if_not_#in~cond| 0))} {678#(<= mkdup_~n |mkdup_#in~n|)} #118#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,675 INFO L272 TraceCheckUtils]: 29: Hoare triple {612#(<= 1 |mkdup_#in~n|)} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:26,676 INFO L290 TraceCheckUtils]: 30: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:26,676 INFO L290 TraceCheckUtils]: 31: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:26,676 INFO L290 TraceCheckUtils]: 32: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:26,676 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {563#true} {612#(<= 1 |mkdup_#in~n|)} #120#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,677 INFO L290 TraceCheckUtils]: 34: Hoare triple {612#(<= 1 |mkdup_#in~n|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,677 INFO L290 TraceCheckUtils]: 35: Hoare triple {612#(<= 1 |mkdup_#in~n|)} assume true; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:26,678 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {612#(<= 1 |mkdup_#in~n|)} {563#true} #102#return; {594#(<= 1 main_~n~0)} is VALID [2022-04-28 04:10:26,678 INFO L290 TraceCheckUtils]: 37: Hoare triple {594#(<= 1 main_~n~0)} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {594#(<= 1 main_~n~0)} is VALID [2022-04-28 04:10:26,678 INFO L272 TraceCheckUtils]: 38: Hoare triple {594#(<= 1 main_~n~0)} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {563#true} is VALID [2022-04-28 04:10:26,678 INFO L290 TraceCheckUtils]: 39: Hoare triple {563#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {742#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0))} is VALID [2022-04-28 04:10:26,679 INFO L290 TraceCheckUtils]: 40: Hoare triple {742#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0))} assume !(~i~1 < ~n); {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,679 INFO L290 TraceCheckUtils]: 41: Hoare triple {620#(<= |finddup_#in~n| 0)} #res := 0; {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,680 INFO L290 TraceCheckUtils]: 42: Hoare triple {620#(<= |finddup_#in~n| 0)} assume true; {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:26,681 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {620#(<= |finddup_#in~n| 0)} {594#(<= 1 main_~n~0)} #104#return; {564#false} is VALID [2022-04-28 04:10:26,681 INFO L290 TraceCheckUtils]: 44: Hoare triple {564#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {564#false} is VALID [2022-04-28 04:10:26,681 INFO L272 TraceCheckUtils]: 45: Hoare triple {564#false} call __VERIFIER_assert(~r~0); {564#false} is VALID [2022-04-28 04:10:26,681 INFO L290 TraceCheckUtils]: 46: Hoare triple {564#false} ~cond := #in~cond; {564#false} is VALID [2022-04-28 04:10:26,681 INFO L290 TraceCheckUtils]: 47: Hoare triple {564#false} assume 0 == ~cond; {564#false} is VALID [2022-04-28 04:10:26,682 INFO L290 TraceCheckUtils]: 48: Hoare triple {564#false} assume !false; {564#false} is VALID [2022-04-28 04:10:26,682 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:10:26,682 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:10:27,301 INFO L290 TraceCheckUtils]: 48: Hoare triple {564#false} assume !false; {564#false} is VALID [2022-04-28 04:10:27,301 INFO L290 TraceCheckUtils]: 47: Hoare triple {564#false} assume 0 == ~cond; {564#false} is VALID [2022-04-28 04:10:27,302 INFO L290 TraceCheckUtils]: 46: Hoare triple {564#false} ~cond := #in~cond; {564#false} is VALID [2022-04-28 04:10:27,302 INFO L272 TraceCheckUtils]: 45: Hoare triple {564#false} call __VERIFIER_assert(~r~0); {564#false} is VALID [2022-04-28 04:10:27,302 INFO L290 TraceCheckUtils]: 44: Hoare triple {564#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {564#false} is VALID [2022-04-28 04:10:27,307 INFO L284 TraceCheckUtils]: 43: Hoare quadruple {620#(<= |finddup_#in~n| 0)} {594#(<= 1 main_~n~0)} #104#return; {564#false} is VALID [2022-04-28 04:10:27,308 INFO L290 TraceCheckUtils]: 42: Hoare triple {620#(<= |finddup_#in~n| 0)} assume true; {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:27,308 INFO L290 TraceCheckUtils]: 41: Hoare triple {620#(<= |finddup_#in~n| 0)} #res := 0; {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:27,309 INFO L290 TraceCheckUtils]: 40: Hoare triple {797#(or (< finddup_~i~1 finddup_~n) (<= |finddup_#in~n| 0))} assume !(~i~1 < ~n); {620#(<= |finddup_#in~n| 0)} is VALID [2022-04-28 04:10:27,309 INFO L290 TraceCheckUtils]: 39: Hoare triple {563#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {797#(or (< finddup_~i~1 finddup_~n) (<= |finddup_#in~n| 0))} is VALID [2022-04-28 04:10:27,309 INFO L272 TraceCheckUtils]: 38: Hoare triple {594#(<= 1 main_~n~0)} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {563#true} is VALID [2022-04-28 04:10:27,310 INFO L290 TraceCheckUtils]: 37: Hoare triple {594#(<= 1 main_~n~0)} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {594#(<= 1 main_~n~0)} is VALID [2022-04-28 04:10:27,310 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {612#(<= 1 |mkdup_#in~n|)} {563#true} #102#return; {594#(<= 1 main_~n~0)} is VALID [2022-04-28 04:10:27,311 INFO L290 TraceCheckUtils]: 35: Hoare triple {612#(<= 1 |mkdup_#in~n|)} assume true; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:27,311 INFO L290 TraceCheckUtils]: 34: Hoare triple {612#(<= 1 |mkdup_#in~n|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:27,312 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {563#true} {612#(<= 1 |mkdup_#in~n|)} #120#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:27,312 INFO L290 TraceCheckUtils]: 32: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:27,312 INFO L290 TraceCheckUtils]: 31: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:27,312 INFO L290 TraceCheckUtils]: 30: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:27,312 INFO L272 TraceCheckUtils]: 29: Hoare triple {612#(<= 1 |mkdup_#in~n|)} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:27,313 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {618#(not (= |assume_abort_if_not_#in~cond| 0))} {834#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} #118#return; {612#(<= 1 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:27,313 INFO L290 TraceCheckUtils]: 27: Hoare triple {618#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:27,314 INFO L290 TraceCheckUtils]: 26: Hoare triple {844#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {618#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:27,314 INFO L290 TraceCheckUtils]: 25: Hoare triple {563#true} ~cond := #in~cond; {844#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:10:27,314 INFO L272 TraceCheckUtils]: 24: Hoare triple {834#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:27,315 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {563#true} {834#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} #116#return; {834#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:27,315 INFO L290 TraceCheckUtils]: 22: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:27,315 INFO L290 TraceCheckUtils]: 21: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:27,315 INFO L290 TraceCheckUtils]: 20: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:27,315 INFO L272 TraceCheckUtils]: 19: Hoare triple {834#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:27,315 INFO L290 TraceCheckUtils]: 18: Hoare triple {563#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {834#(or (<= mkdup_~n 0) (<= 1 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:27,316 INFO L272 TraceCheckUtils]: 17: Hoare triple {563#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {563#true} is VALID [2022-04-28 04:10:27,316 INFO L290 TraceCheckUtils]: 16: Hoare triple {563#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {563#true} is VALID [2022-04-28 04:10:27,316 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {563#true} {563#true} #100#return; {563#true} is VALID [2022-04-28 04:10:27,316 INFO L290 TraceCheckUtils]: 14: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:27,316 INFO L290 TraceCheckUtils]: 13: Hoare triple {563#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {563#true} is VALID [2022-04-28 04:10:27,316 INFO L272 TraceCheckUtils]: 12: Hoare triple {563#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {563#true} is VALID [2022-04-28 04:10:27,316 INFO L290 TraceCheckUtils]: 11: Hoare triple {563#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {563#true} is VALID [2022-04-28 04:10:27,316 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {563#true} {563#true} #98#return; {563#true} is VALID [2022-04-28 04:10:27,316 INFO L290 TraceCheckUtils]: 9: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:27,316 INFO L290 TraceCheckUtils]: 8: Hoare triple {563#true} assume !(0 == ~cond); {563#true} is VALID [2022-04-28 04:10:27,317 INFO L290 TraceCheckUtils]: 7: Hoare triple {563#true} ~cond := #in~cond; {563#true} is VALID [2022-04-28 04:10:27,317 INFO L272 TraceCheckUtils]: 6: Hoare triple {563#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {563#true} is VALID [2022-04-28 04:10:27,317 INFO L290 TraceCheckUtils]: 5: Hoare triple {563#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {563#true} is VALID [2022-04-28 04:10:27,317 INFO L272 TraceCheckUtils]: 4: Hoare triple {563#true} call #t~ret27 := main(); {563#true} is VALID [2022-04-28 04:10:27,317 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {563#true} {563#true} #122#return; {563#true} is VALID [2022-04-28 04:10:27,317 INFO L290 TraceCheckUtils]: 2: Hoare triple {563#true} assume true; {563#true} is VALID [2022-04-28 04:10:27,317 INFO L290 TraceCheckUtils]: 1: Hoare triple {563#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(10, 2);call #Ultimate.allocInit(12, 3); {563#true} is VALID [2022-04-28 04:10:27,317 INFO L272 TraceCheckUtils]: 0: Hoare triple {563#true} call ULTIMATE.init(); {563#true} is VALID [2022-04-28 04:10:27,317 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 6 proven. 3 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:10:27,318 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1904679041] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:10:27,318 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:10:27,318 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [12, 9, 9] total 17 [2022-04-28 04:10:27,318 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:10:27,319 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [768299332] [2022-04-28 04:10:27,319 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [768299332] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:27,319 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:27,319 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:10:27,319 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1441672792] [2022-04-28 04:10:27,319 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:10:27,320 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) Word has length 49 [2022-04-28 04:10:27,320 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:10:27,320 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:27,351 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 43 edges. 43 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:27,352 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:10:27,352 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:27,352 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:10:27,352 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=45, Invalid=227, Unknown=0, NotChecked=0, Total=272 [2022-04-28 04:10:27,353 INFO L87 Difference]: Start difference. First operand 54 states and 65 transitions. Second operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:28,472 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:28,472 INFO L93 Difference]: Finished difference Result 84 states and 103 transitions. [2022-04-28 04:10:28,472 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 14 states. [2022-04-28 04:10:28,472 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) Word has length 49 [2022-04-28 04:10:28,473 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:10:28,473 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:28,475 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 103 transitions. [2022-04-28 04:10:28,476 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:28,478 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 14 states to 14 states and 103 transitions. [2022-04-28 04:10:28,478 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 14 states and 103 transitions. [2022-04-28 04:10:28,553 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:28,555 INFO L225 Difference]: With dead ends: 84 [2022-04-28 04:10:28,555 INFO L226 Difference]: Without dead ends: 63 [2022-04-28 04:10:28,555 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 131 GetRequests, 103 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 77 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=123, Invalid=579, Unknown=0, NotChecked=0, Total=702 [2022-04-28 04:10:28,556 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 96 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 468 mSolverCounterSat, 63 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 531 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 63 IncrementalHoareTripleChecker+Valid, 468 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:10:28,556 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 56 Invalid, 531 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [63 Valid, 468 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:10:28,557 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 63 states. [2022-04-28 04:10:28,578 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 63 to 55. [2022-04-28 04:10:28,578 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:10:28,579 INFO L82 GeneralOperation]: Start isEquivalent. First operand 63 states. Second operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:10:28,579 INFO L74 IsIncluded]: Start isIncluded. First operand 63 states. Second operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:10:28,579 INFO L87 Difference]: Start difference. First operand 63 states. Second operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:10:28,582 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:28,582 INFO L93 Difference]: Finished difference Result 63 states and 76 transitions. [2022-04-28 04:10:28,582 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-28 04:10:28,582 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:28,582 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:28,583 INFO L74 IsIncluded]: Start isIncluded. First operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-28 04:10:28,583 INFO L87 Difference]: Start difference. First operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) Second operand 63 states. [2022-04-28 04:10:28,585 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:28,585 INFO L93 Difference]: Finished difference Result 63 states and 76 transitions. [2022-04-28 04:10:28,585 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 76 transitions. [2022-04-28 04:10:28,586 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:28,586 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:28,586 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:10:28,586 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:10:28,586 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 55 states, 34 states have (on average 1.1764705882352942) internal successors, (40), 35 states have internal predecessors, (40), 14 states have call successors, (14), 7 states have call predecessors, (14), 6 states have return successors, (12), 12 states have call predecessors, (12), 12 states have call successors, (12) [2022-04-28 04:10:28,588 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 55 states to 55 states and 66 transitions. [2022-04-28 04:10:28,588 INFO L78 Accepts]: Start accepts. Automaton has 55 states and 66 transitions. Word has length 49 [2022-04-28 04:10:28,588 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:10:28,588 INFO L495 AbstractCegarLoop]: Abstraction has 55 states and 66 transitions. [2022-04-28 04:10:28,588 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 10 states have (on average 2.5) internal successors, (25), 9 states have internal predecessors, (25), 6 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 5 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:28,588 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 55 states and 66 transitions. [2022-04-28 04:10:28,652 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 66 edges. 66 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:28,652 INFO L276 IsEmpty]: Start isEmpty. Operand 55 states and 66 transitions. [2022-04-28 04:10:28,653 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 51 [2022-04-28 04:10:28,653 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:10:28,653 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:10:28,673 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-28 04:10:28,870 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable1,2 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:10:28,871 INFO L420 AbstractCegarLoop]: === Iteration 3 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:10:28,871 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:10:28,871 INFO L85 PathProgramCache]: Analyzing trace with hash -2096379008, now seen corresponding path program 1 times [2022-04-28 04:10:28,871 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:28,871 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [258553676] [2022-04-28 04:10:28,872 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:10:28,872 INFO L85 PathProgramCache]: Analyzing trace with hash -2096379008, now seen corresponding path program 2 times [2022-04-28 04:10:28,872 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:10:28,872 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [648468350] [2022-04-28 04:10:28,872 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:10:28,872 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:10:28,899 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:28,948 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:10:28,950 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:28,954 INFO L290 TraceCheckUtils]: 0: Hoare triple {1385#(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(10, 2);call #Ultimate.allocInit(12, 3); {1344#true} is VALID [2022-04-28 04:10:28,954 INFO L290 TraceCheckUtils]: 1: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:28,954 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1344#true} {1344#true} #122#return; {1344#true} is VALID [2022-04-28 04:10:28,954 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:28,955 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:28,958 INFO L290 TraceCheckUtils]: 0: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:28,958 INFO L290 TraceCheckUtils]: 1: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:28,958 INFO L290 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:28,958 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #98#return; {1344#true} is VALID [2022-04-28 04:10:28,963 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:10:28,966 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:28,970 INFO L290 TraceCheckUtils]: 0: Hoare triple {1386#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1344#true} is VALID [2022-04-28 04:10:28,970 INFO L290 TraceCheckUtils]: 1: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:28,970 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1344#true} {1344#true} #100#return; {1344#true} is VALID [2022-04-28 04:10:28,970 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:10:28,982 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:28,997 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:10:28,998 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:29,001 INFO L290 TraceCheckUtils]: 0: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,001 INFO L290 TraceCheckUtils]: 1: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,001 INFO L290 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,002 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #116#return; {1344#true} is VALID [2022-04-28 04:10:29,002 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:29,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:29,010 INFO L290 TraceCheckUtils]: 0: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,011 INFO L290 TraceCheckUtils]: 1: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,011 INFO L290 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,011 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #118#return; {1344#true} is VALID [2022-04-28 04:10:29,011 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:10:29,012 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:29,015 INFO L290 TraceCheckUtils]: 0: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,015 INFO L290 TraceCheckUtils]: 1: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,015 INFO L290 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,016 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #120#return; {1344#true} is VALID [2022-04-28 04:10:29,016 INFO L290 TraceCheckUtils]: 0: Hoare triple {1386#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {1344#true} is VALID [2022-04-28 04:10:29,016 INFO L272 TraceCheckUtils]: 1: Hoare triple {1344#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {1344#true} is VALID [2022-04-28 04:10:29,016 INFO L290 TraceCheckUtils]: 2: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,016 INFO L290 TraceCheckUtils]: 3: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,016 INFO L290 TraceCheckUtils]: 4: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,016 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1344#true} {1344#true} #116#return; {1344#true} is VALID [2022-04-28 04:10:29,016 INFO L272 TraceCheckUtils]: 6: Hoare triple {1344#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {1344#true} is VALID [2022-04-28 04:10:29,017 INFO L290 TraceCheckUtils]: 7: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,017 INFO L290 TraceCheckUtils]: 8: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,017 INFO L290 TraceCheckUtils]: 9: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,017 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1344#true} {1344#true} #118#return; {1344#true} is VALID [2022-04-28 04:10:29,017 INFO L272 TraceCheckUtils]: 11: Hoare triple {1344#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {1344#true} is VALID [2022-04-28 04:10:29,017 INFO L290 TraceCheckUtils]: 12: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,019 INFO L290 TraceCheckUtils]: 13: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,020 INFO L290 TraceCheckUtils]: 14: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,020 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1344#true} {1344#true} #120#return; {1344#true} is VALID [2022-04-28 04:10:29,020 INFO L290 TraceCheckUtils]: 16: Hoare triple {1344#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {1344#true} is VALID [2022-04-28 04:10:29,020 INFO L290 TraceCheckUtils]: 17: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,020 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1344#true} {1344#true} #102#return; {1344#true} is VALID [2022-04-28 04:10:29,020 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:10:29,031 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:29,046 INFO L290 TraceCheckUtils]: 0: Hoare triple {1386#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {1344#true} is VALID [2022-04-28 04:10:29,046 INFO L290 TraceCheckUtils]: 1: Hoare triple {1344#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {1344#true} is VALID [2022-04-28 04:10:29,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {1344#true} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {1344#true} is VALID [2022-04-28 04:10:29,047 INFO L290 TraceCheckUtils]: 3: Hoare triple {1344#true} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {1399#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} is VALID [2022-04-28 04:10:29,047 INFO L290 TraceCheckUtils]: 4: Hoare triple {1399#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} assume true; {1399#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} is VALID [2022-04-28 04:10:29,050 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1399#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} {1344#true} #104#return; {1381#(= |main_#t~ret14| 1)} is VALID [2022-04-28 04:10:29,050 INFO L272 TraceCheckUtils]: 0: Hoare triple {1344#true} call ULTIMATE.init(); {1385#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:10:29,050 INFO L290 TraceCheckUtils]: 1: Hoare triple {1385#(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(10, 2);call #Ultimate.allocInit(12, 3); {1344#true} is VALID [2022-04-28 04:10:29,050 INFO L290 TraceCheckUtils]: 2: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,050 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1344#true} {1344#true} #122#return; {1344#true} is VALID [2022-04-28 04:10:29,051 INFO L272 TraceCheckUtils]: 4: Hoare triple {1344#true} call #t~ret27 := main(); {1344#true} is VALID [2022-04-28 04:10:29,051 INFO L290 TraceCheckUtils]: 5: Hoare triple {1344#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {1344#true} is VALID [2022-04-28 04:10:29,051 INFO L272 TraceCheckUtils]: 6: Hoare triple {1344#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1344#true} is VALID [2022-04-28 04:10:29,051 INFO L290 TraceCheckUtils]: 7: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,051 INFO L290 TraceCheckUtils]: 8: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,051 INFO L290 TraceCheckUtils]: 9: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,051 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1344#true} {1344#true} #98#return; {1344#true} is VALID [2022-04-28 04:10:29,051 INFO L290 TraceCheckUtils]: 11: Hoare triple {1344#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1344#true} is VALID [2022-04-28 04:10:29,052 INFO L272 TraceCheckUtils]: 12: Hoare triple {1344#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {1386#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:29,052 INFO L290 TraceCheckUtils]: 13: Hoare triple {1386#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1344#true} is VALID [2022-04-28 04:10:29,052 INFO L290 TraceCheckUtils]: 14: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,052 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1344#true} {1344#true} #100#return; {1344#true} is VALID [2022-04-28 04:10:29,052 INFO L290 TraceCheckUtils]: 16: Hoare triple {1344#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {1344#true} is VALID [2022-04-28 04:10:29,054 INFO L272 TraceCheckUtils]: 17: Hoare triple {1344#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {1386#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:29,054 INFO L290 TraceCheckUtils]: 18: Hoare triple {1386#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {1344#true} is VALID [2022-04-28 04:10:29,054 INFO L272 TraceCheckUtils]: 19: Hoare triple {1344#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {1344#true} is VALID [2022-04-28 04:10:29,054 INFO L290 TraceCheckUtils]: 20: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,054 INFO L290 TraceCheckUtils]: 21: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,054 INFO L290 TraceCheckUtils]: 22: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,054 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1344#true} {1344#true} #116#return; {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L272 TraceCheckUtils]: 24: Hoare triple {1344#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L290 TraceCheckUtils]: 25: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L290 TraceCheckUtils]: 26: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L290 TraceCheckUtils]: 27: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1344#true} {1344#true} #118#return; {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L272 TraceCheckUtils]: 29: Hoare triple {1344#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L290 TraceCheckUtils]: 30: Hoare triple {1344#true} ~cond := #in~cond; {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L290 TraceCheckUtils]: 31: Hoare triple {1344#true} assume !(0 == ~cond); {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L290 TraceCheckUtils]: 32: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1344#true} {1344#true} #120#return; {1344#true} is VALID [2022-04-28 04:10:29,055 INFO L290 TraceCheckUtils]: 34: Hoare triple {1344#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {1344#true} is VALID [2022-04-28 04:10:29,056 INFO L290 TraceCheckUtils]: 35: Hoare triple {1344#true} assume true; {1344#true} is VALID [2022-04-28 04:10:29,056 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1344#true} {1344#true} #102#return; {1344#true} is VALID [2022-04-28 04:10:29,056 INFO L290 TraceCheckUtils]: 37: Hoare triple {1344#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {1344#true} is VALID [2022-04-28 04:10:29,057 INFO L272 TraceCheckUtils]: 38: Hoare triple {1344#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {1386#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:29,057 INFO L290 TraceCheckUtils]: 39: Hoare triple {1386#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {1344#true} is VALID [2022-04-28 04:10:29,057 INFO L290 TraceCheckUtils]: 40: Hoare triple {1344#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {1344#true} is VALID [2022-04-28 04:10:29,057 INFO L290 TraceCheckUtils]: 41: Hoare triple {1344#true} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {1344#true} is VALID [2022-04-28 04:10:29,060 INFO L290 TraceCheckUtils]: 42: Hoare triple {1344#true} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {1399#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} is VALID [2022-04-28 04:10:29,061 INFO L290 TraceCheckUtils]: 43: Hoare triple {1399#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} assume true; {1399#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} is VALID [2022-04-28 04:10:29,063 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {1399#(and (<= 1 |finddup_#res|) (<= |finddup_#res| 1))} {1344#true} #104#return; {1381#(= |main_#t~ret14| 1)} is VALID [2022-04-28 04:10:29,063 INFO L290 TraceCheckUtils]: 45: Hoare triple {1381#(= |main_#t~ret14| 1)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {1382#(= main_~r~0 1)} is VALID [2022-04-28 04:10:29,064 INFO L272 TraceCheckUtils]: 46: Hoare triple {1382#(= main_~r~0 1)} call __VERIFIER_assert(~r~0); {1383#(= |__VERIFIER_assert_#in~cond| 1)} is VALID [2022-04-28 04:10:29,064 INFO L290 TraceCheckUtils]: 47: Hoare triple {1383#(= |__VERIFIER_assert_#in~cond| 1)} ~cond := #in~cond; {1384#(= __VERIFIER_assert_~cond 1)} is VALID [2022-04-28 04:10:29,064 INFO L290 TraceCheckUtils]: 48: Hoare triple {1384#(= __VERIFIER_assert_~cond 1)} assume 0 == ~cond; {1345#false} is VALID [2022-04-28 04:10:29,064 INFO L290 TraceCheckUtils]: 49: Hoare triple {1345#false} assume !false; {1345#false} is VALID [2022-04-28 04:10:29,065 INFO L134 CoverageAnalysis]: Checked inductivity of 24 backedges. 0 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:10:29,065 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:10:29,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [648468350] [2022-04-28 04:10:29,065 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [648468350] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:29,065 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:29,065 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:10:29,065 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:10:29,065 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [258553676] [2022-04-28 04:10:29,066 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [258553676] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:29,066 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:29,066 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:10:29,066 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1525385101] [2022-04-28 04:10:29,066 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:10:29,066 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 50 [2022-04-28 04:10:29,066 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:10:29,067 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:29,090 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 41 edges. 41 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:29,091 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:10:29,091 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:29,091 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:10:29,091 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:10:29,091 INFO L87 Difference]: Start difference. First operand 55 states and 66 transitions. Second operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:29,938 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:29,938 INFO L93 Difference]: Finished difference Result 75 states and 91 transitions. [2022-04-28 04:10:29,938 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:10:29,938 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 50 [2022-04-28 04:10:29,939 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:10:29,939 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:29,941 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-28 04:10:29,941 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:29,942 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 90 transitions. [2022-04-28 04:10:29,942 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 90 transitions. [2022-04-28 04:10:30,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 90 edges. 90 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:30,021 INFO L225 Difference]: With dead ends: 75 [2022-04-28 04:10:30,021 INFO L226 Difference]: Without dead ends: 73 [2022-04-28 04:10:30,021 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 30 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 12 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=45, Invalid=165, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:10:30,022 INFO L413 NwaCegarLoop]: 53 mSDtfsCounter, 80 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 425 mSolverCounterSat, 52 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.4s Time, 0 mProtectedPredicate, 0 mProtectedAction, 87 SdHoareTripleChecker+Valid, 63 SdHoareTripleChecker+Invalid, 477 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 52 IncrementalHoareTripleChecker+Valid, 425 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.4s IncrementalHoareTripleChecker+Time [2022-04-28 04:10:30,022 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [87 Valid, 63 Invalid, 477 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [52 Valid, 425 Invalid, 0 Unknown, 0 Unchecked, 0.4s Time] [2022-04-28 04:10:30,023 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 73 states. [2022-04-28 04:10:30,041 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 73 to 63. [2022-04-28 04:10:30,041 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:10:30,041 INFO L82 GeneralOperation]: Start isEquivalent. First operand 73 states. Second operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:30,042 INFO L74 IsIncluded]: Start isIncluded. First operand 73 states. Second operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:30,042 INFO L87 Difference]: Start difference. First operand 73 states. Second operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:30,044 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:30,044 INFO L93 Difference]: Finished difference Result 73 states and 89 transitions. [2022-04-28 04:10:30,044 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 89 transitions. [2022-04-28 04:10:30,045 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:30,045 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:30,045 INFO L74 IsIncluded]: Start isIncluded. First operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 73 states. [2022-04-28 04:10:30,045 INFO L87 Difference]: Start difference. First operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 73 states. [2022-04-28 04:10:30,048 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:30,048 INFO L93 Difference]: Finished difference Result 73 states and 89 transitions. [2022-04-28 04:10:30,048 INFO L276 IsEmpty]: Start isEmpty. Operand 73 states and 89 transitions. [2022-04-28 04:10:30,048 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:30,048 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:30,048 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:10:30,048 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:10:30,049 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 63 states, 39 states have (on average 1.1538461538461537) internal successors, (45), 41 states have internal predecessors, (45), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:30,050 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 63 states to 63 states and 74 transitions. [2022-04-28 04:10:30,050 INFO L78 Accepts]: Start accepts. Automaton has 63 states and 74 transitions. Word has length 50 [2022-04-28 04:10:30,051 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:10:30,051 INFO L495 AbstractCegarLoop]: Abstraction has 63 states and 74 transitions. [2022-04-28 04:10:30,051 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 8 states have (on average 2.875) internal successors, (23), 5 states have internal predecessors, (23), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:30,051 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 63 states and 74 transitions. [2022-04-28 04:10:30,109 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 74 edges. 74 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:30,109 INFO L276 IsEmpty]: Start isEmpty. Operand 63 states and 74 transitions. [2022-04-28 04:10:30,110 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 53 [2022-04-28 04:10:30,110 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:10:30,110 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:10:30,110 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable2 [2022-04-28 04:10:30,110 INFO L420 AbstractCegarLoop]: === Iteration 4 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:10:30,110 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:10:30,111 INFO L85 PathProgramCache]: Analyzing trace with hash 983031743, now seen corresponding path program 1 times [2022-04-28 04:10:30,111 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:30,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [2132286435] [2022-04-28 04:10:30,111 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:10:30,111 INFO L85 PathProgramCache]: Analyzing trace with hash 983031743, now seen corresponding path program 2 times [2022-04-28 04:10:30,111 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:10:30,111 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [627779886] [2022-04-28 04:10:30,111 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:10:30,111 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:10:30,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,182 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:10:30,183 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,185 INFO L290 TraceCheckUtils]: 0: Hoare triple {1877#(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(10, 2);call #Ultimate.allocInit(12, 3); {1837#true} is VALID [2022-04-28 04:10:30,185 INFO L290 TraceCheckUtils]: 1: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:30,185 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1837#true} {1837#true} #122#return; {1837#true} is VALID [2022-04-28 04:10:30,185 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:30,186 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,187 INFO L290 TraceCheckUtils]: 0: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-28 04:10:30,187 INFO L290 TraceCheckUtils]: 1: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-28 04:10:30,187 INFO L290 TraceCheckUtils]: 2: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:30,187 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1837#true} {1837#true} #98#return; {1837#true} is VALID [2022-04-28 04:10:30,193 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:10:30,194 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,197 INFO L290 TraceCheckUtils]: 0: Hoare triple {1878#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1837#true} is VALID [2022-04-28 04:10:30,197 INFO L290 TraceCheckUtils]: 1: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:30,197 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {1837#true} {1837#true} #100#return; {1837#true} is VALID [2022-04-28 04:10:30,197 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:10:30,206 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,358 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:10:30,364 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,381 INFO L290 TraceCheckUtils]: 0: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,382 INFO L290 TraceCheckUtils]: 1: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,382 INFO L290 TraceCheckUtils]: 2: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,383 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1879#(= |mkdup_#in~n| mkdup_~n)} #116#return; {1884#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} is VALID [2022-04-28 04:10:30,383 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:30,391 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,403 INFO L290 TraceCheckUtils]: 0: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,403 INFO L290 TraceCheckUtils]: 1: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,403 INFO L290 TraceCheckUtils]: 2: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,404 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1884#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} #118#return; {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:30,404 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:10:30,405 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,417 INFO L290 TraceCheckUtils]: 0: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,417 INFO L290 TraceCheckUtils]: 1: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,417 INFO L290 TraceCheckUtils]: 2: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,418 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} #120#return; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:30,418 INFO L290 TraceCheckUtils]: 0: Hoare triple {1878#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {1879#(= |mkdup_#in~n| mkdup_~n)} is VALID [2022-04-28 04:10:30,418 INFO L272 TraceCheckUtils]: 1: Hoare triple {1879#(= |mkdup_#in~n| mkdup_~n)} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:30,419 INFO L290 TraceCheckUtils]: 2: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,419 INFO L290 TraceCheckUtils]: 3: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,419 INFO L290 TraceCheckUtils]: 4: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,420 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1879#(= |mkdup_#in~n| mkdup_~n)} #116#return; {1884#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} is VALID [2022-04-28 04:10:30,420 INFO L272 TraceCheckUtils]: 6: Hoare triple {1884#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:30,420 INFO L290 TraceCheckUtils]: 7: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,420 INFO L290 TraceCheckUtils]: 8: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,421 INFO L290 TraceCheckUtils]: 9: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,421 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1884#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} #118#return; {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:30,421 INFO L272 TraceCheckUtils]: 11: Hoare triple {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:30,422 INFO L290 TraceCheckUtils]: 12: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,422 INFO L290 TraceCheckUtils]: 13: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,422 INFO L290 TraceCheckUtils]: 14: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,423 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} #120#return; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:30,423 INFO L290 TraceCheckUtils]: 16: Hoare triple {1894#(<= 2 |mkdup_#in~n|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:30,423 INFO L290 TraceCheckUtils]: 17: Hoare triple {1894#(<= 2 |mkdup_#in~n|)} assume true; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:30,424 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {1894#(<= 2 |mkdup_#in~n|)} {1837#true} #102#return; {1868#(<= 2 main_~n~0)} is VALID [2022-04-28 04:10:30,424 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:10:30,427 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,475 INFO L290 TraceCheckUtils]: 0: Hoare triple {1878#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {1897#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} is VALID [2022-04-28 04:10:30,475 INFO L290 TraceCheckUtils]: 1: Hoare triple {1897#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {1898#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:30,476 INFO L290 TraceCheckUtils]: 2: Hoare triple {1898#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} assume !(~j~1 < ~n); {1899#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} is VALID [2022-04-28 04:10:30,484 INFO L290 TraceCheckUtils]: 3: Hoare triple {1899#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {1899#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} is VALID [2022-04-28 04:10:30,484 INFO L290 TraceCheckUtils]: 4: Hoare triple {1899#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} assume !(~i~1 < ~n); {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:30,484 INFO L290 TraceCheckUtils]: 5: Hoare triple {1900#(<= |finddup_#in~n| 1)} #res := 0; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:30,484 INFO L290 TraceCheckUtils]: 6: Hoare triple {1900#(<= |finddup_#in~n| 1)} assume true; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:30,486 INFO L284 TraceCheckUtils]: 7: Hoare quadruple {1900#(<= |finddup_#in~n| 1)} {1868#(<= 2 main_~n~0)} #104#return; {1838#false} is VALID [2022-04-28 04:10:30,486 INFO L272 TraceCheckUtils]: 0: Hoare triple {1837#true} call ULTIMATE.init(); {1877#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:10:30,486 INFO L290 TraceCheckUtils]: 1: Hoare triple {1877#(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(10, 2);call #Ultimate.allocInit(12, 3); {1837#true} is VALID [2022-04-28 04:10:30,486 INFO L290 TraceCheckUtils]: 2: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:30,486 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1837#true} {1837#true} #122#return; {1837#true} is VALID [2022-04-28 04:10:30,486 INFO L272 TraceCheckUtils]: 4: Hoare triple {1837#true} call #t~ret27 := main(); {1837#true} is VALID [2022-04-28 04:10:30,486 INFO L290 TraceCheckUtils]: 5: Hoare triple {1837#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {1837#true} is VALID [2022-04-28 04:10:30,486 INFO L272 TraceCheckUtils]: 6: Hoare triple {1837#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:30,487 INFO L290 TraceCheckUtils]: 7: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-28 04:10:30,487 INFO L290 TraceCheckUtils]: 8: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-28 04:10:30,487 INFO L290 TraceCheckUtils]: 9: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:30,487 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1837#true} {1837#true} #98#return; {1837#true} is VALID [2022-04-28 04:10:30,487 INFO L290 TraceCheckUtils]: 11: Hoare triple {1837#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1837#true} is VALID [2022-04-28 04:10:30,491 INFO L272 TraceCheckUtils]: 12: Hoare triple {1837#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {1878#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:30,491 INFO L290 TraceCheckUtils]: 13: Hoare triple {1878#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1837#true} is VALID [2022-04-28 04:10:30,491 INFO L290 TraceCheckUtils]: 14: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:30,491 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1837#true} {1837#true} #100#return; {1837#true} is VALID [2022-04-28 04:10:30,491 INFO L290 TraceCheckUtils]: 16: Hoare triple {1837#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {1837#true} is VALID [2022-04-28 04:10:30,492 INFO L272 TraceCheckUtils]: 17: Hoare triple {1837#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {1878#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:30,492 INFO L290 TraceCheckUtils]: 18: Hoare triple {1878#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {1879#(= |mkdup_#in~n| mkdup_~n)} is VALID [2022-04-28 04:10:30,492 INFO L272 TraceCheckUtils]: 19: Hoare triple {1879#(= |mkdup_#in~n| mkdup_~n)} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:30,492 INFO L290 TraceCheckUtils]: 20: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,493 INFO L290 TraceCheckUtils]: 21: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,493 INFO L290 TraceCheckUtils]: 22: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,494 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1879#(= |mkdup_#in~n| mkdup_~n)} #116#return; {1884#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} is VALID [2022-04-28 04:10:30,494 INFO L272 TraceCheckUtils]: 24: Hoare triple {1884#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:30,494 INFO L290 TraceCheckUtils]: 25: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,494 INFO L290 TraceCheckUtils]: 26: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,494 INFO L290 TraceCheckUtils]: 27: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,495 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1884#(and (= |mkdup_#in~n| mkdup_~n) (or (and (not (<= (+ mkdup_~j~0 1) mkdup_~i~0)) (<= 0 mkdup_~i~0)) (not (= mkdup_~j~0 0)) (<= 2 mkdup_~n)))} #118#return; {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:30,495 INFO L272 TraceCheckUtils]: 29: Hoare triple {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:30,496 INFO L290 TraceCheckUtils]: 30: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:30,496 INFO L290 TraceCheckUtils]: 31: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,496 INFO L290 TraceCheckUtils]: 32: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:30,498 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} #120#return; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:30,498 INFO L290 TraceCheckUtils]: 34: Hoare triple {1894#(<= 2 |mkdup_#in~n|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:30,498 INFO L290 TraceCheckUtils]: 35: Hoare triple {1894#(<= 2 |mkdup_#in~n|)} assume true; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:30,499 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1894#(<= 2 |mkdup_#in~n|)} {1837#true} #102#return; {1868#(<= 2 main_~n~0)} is VALID [2022-04-28 04:10:30,499 INFO L290 TraceCheckUtils]: 37: Hoare triple {1868#(<= 2 main_~n~0)} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {1868#(<= 2 main_~n~0)} is VALID [2022-04-28 04:10:30,500 INFO L272 TraceCheckUtils]: 38: Hoare triple {1868#(<= 2 main_~n~0)} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {1878#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:30,500 INFO L290 TraceCheckUtils]: 39: Hoare triple {1878#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {1897#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} is VALID [2022-04-28 04:10:30,501 INFO L290 TraceCheckUtils]: 40: Hoare triple {1897#(and (<= finddup_~i~1 0) (= |finddup_#in~n| finddup_~n))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {1898#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:30,503 INFO L290 TraceCheckUtils]: 41: Hoare triple {1898#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} assume !(~j~1 < ~n); {1899#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} is VALID [2022-04-28 04:10:30,504 INFO L290 TraceCheckUtils]: 42: Hoare triple {1899#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {1899#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} is VALID [2022-04-28 04:10:30,504 INFO L290 TraceCheckUtils]: 43: Hoare triple {1899#(and (= |finddup_#in~n| finddup_~n) (<= finddup_~n 1))} assume !(~i~1 < ~n); {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:30,504 INFO L290 TraceCheckUtils]: 44: Hoare triple {1900#(<= |finddup_#in~n| 1)} #res := 0; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:30,505 INFO L290 TraceCheckUtils]: 45: Hoare triple {1900#(<= |finddup_#in~n| 1)} assume true; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:30,506 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1900#(<= |finddup_#in~n| 1)} {1868#(<= 2 main_~n~0)} #104#return; {1838#false} is VALID [2022-04-28 04:10:30,506 INFO L290 TraceCheckUtils]: 47: Hoare triple {1838#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {1838#false} is VALID [2022-04-28 04:10:30,506 INFO L272 TraceCheckUtils]: 48: Hoare triple {1838#false} call __VERIFIER_assert(~r~0); {1838#false} is VALID [2022-04-28 04:10:30,506 INFO L290 TraceCheckUtils]: 49: Hoare triple {1838#false} ~cond := #in~cond; {1838#false} is VALID [2022-04-28 04:10:30,506 INFO L290 TraceCheckUtils]: 50: Hoare triple {1838#false} assume 0 == ~cond; {1838#false} is VALID [2022-04-28 04:10:30,506 INFO L290 TraceCheckUtils]: 51: Hoare triple {1838#false} assume !false; {1838#false} is VALID [2022-04-28 04:10:30,507 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:10:30,507 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:10:30,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [627779886] [2022-04-28 04:10:30,507 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [627779886] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:10:30,507 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1873900756] [2022-04-28 04:10:30,507 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:10:30,507 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:10:30,507 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:10:30,508 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-28 04:10:30,509 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-28 04:10:30,569 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:10:30,570 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:10:30,571 INFO L263 TraceCheckSpWp]: Trace formula consists of 230 conjuncts, 22 conjunts are in the unsatisfiable core [2022-04-28 04:10:30,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:30,581 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:10:31,042 INFO L272 TraceCheckUtils]: 0: Hoare triple {1837#true} call ULTIMATE.init(); {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L290 TraceCheckUtils]: 1: Hoare triple {1837#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(10, 2);call #Ultimate.allocInit(12, 3); {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L290 TraceCheckUtils]: 2: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1837#true} {1837#true} #122#return; {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L272 TraceCheckUtils]: 4: Hoare triple {1837#true} call #t~ret27 := main(); {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L290 TraceCheckUtils]: 5: Hoare triple {1837#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L272 TraceCheckUtils]: 6: Hoare triple {1837#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L290 TraceCheckUtils]: 7: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L290 TraceCheckUtils]: 8: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L290 TraceCheckUtils]: 9: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:31,043 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1837#true} {1837#true} #98#return; {1837#true} is VALID [2022-04-28 04:10:31,044 INFO L290 TraceCheckUtils]: 11: Hoare triple {1837#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1837#true} is VALID [2022-04-28 04:10:31,044 INFO L272 TraceCheckUtils]: 12: Hoare triple {1837#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {1837#true} is VALID [2022-04-28 04:10:31,044 INFO L290 TraceCheckUtils]: 13: Hoare triple {1837#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1837#true} is VALID [2022-04-28 04:10:31,044 INFO L290 TraceCheckUtils]: 14: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:31,044 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1837#true} {1837#true} #100#return; {1837#true} is VALID [2022-04-28 04:10:31,044 INFO L290 TraceCheckUtils]: 16: Hoare triple {1837#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {1837#true} is VALID [2022-04-28 04:10:31,044 INFO L272 TraceCheckUtils]: 17: Hoare triple {1837#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {1837#true} is VALID [2022-04-28 04:10:31,045 INFO L290 TraceCheckUtils]: 18: Hoare triple {1837#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {1958#(<= mkdup_~n |mkdup_#in~n|)} is VALID [2022-04-28 04:10:31,045 INFO L272 TraceCheckUtils]: 19: Hoare triple {1958#(<= mkdup_~n |mkdup_#in~n|)} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:31,045 INFO L290 TraceCheckUtils]: 20: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:31,045 INFO L290 TraceCheckUtils]: 21: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:31,045 INFO L290 TraceCheckUtils]: 22: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:31,046 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1958#(<= mkdup_~n |mkdup_#in~n|)} #116#return; {1974#(and (<= mkdup_~n |mkdup_#in~n|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-28 04:10:31,046 INFO L272 TraceCheckUtils]: 24: Hoare triple {1974#(and (<= mkdup_~n |mkdup_#in~n|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:31,046 INFO L290 TraceCheckUtils]: 25: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:31,047 INFO L290 TraceCheckUtils]: 26: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:31,047 INFO L290 TraceCheckUtils]: 27: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:31,048 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1974#(and (<= mkdup_~n |mkdup_#in~n|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} #118#return; {1990#(and (<= 0 mkdup_~j~0) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:31,048 INFO L272 TraceCheckUtils]: 29: Hoare triple {1990#(and (<= 0 mkdup_~j~0) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:31,048 INFO L290 TraceCheckUtils]: 30: Hoare triple {1837#true} ~cond := #in~cond; {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:31,048 INFO L290 TraceCheckUtils]: 31: Hoare triple {1895#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:31,049 INFO L290 TraceCheckUtils]: 32: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:31,049 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1990#(and (<= 0 mkdup_~j~0) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} #120#return; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:31,050 INFO L290 TraceCheckUtils]: 34: Hoare triple {1894#(<= 2 |mkdup_#in~n|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:31,050 INFO L290 TraceCheckUtils]: 35: Hoare triple {1894#(<= 2 |mkdup_#in~n|)} assume true; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:31,050 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1894#(<= 2 |mkdup_#in~n|)} {1837#true} #102#return; {1868#(<= 2 main_~n~0)} is VALID [2022-04-28 04:10:31,051 INFO L290 TraceCheckUtils]: 37: Hoare triple {1868#(<= 2 main_~n~0)} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {1868#(<= 2 main_~n~0)} is VALID [2022-04-28 04:10:31,051 INFO L272 TraceCheckUtils]: 38: Hoare triple {1868#(<= 2 main_~n~0)} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {1837#true} is VALID [2022-04-28 04:10:31,052 INFO L290 TraceCheckUtils]: 39: Hoare triple {1837#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {2024#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0))} is VALID [2022-04-28 04:10:31,053 INFO L290 TraceCheckUtils]: 40: Hoare triple {2024#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {2028#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:31,053 INFO L290 TraceCheckUtils]: 41: Hoare triple {2028#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~j~1 1))} assume !(~j~1 < ~n); {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:31,053 INFO L290 TraceCheckUtils]: 42: Hoare triple {1900#(<= |finddup_#in~n| 1)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:31,054 INFO L290 TraceCheckUtils]: 43: Hoare triple {1900#(<= |finddup_#in~n| 1)} assume !(~i~1 < ~n); {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:31,054 INFO L290 TraceCheckUtils]: 44: Hoare triple {1900#(<= |finddup_#in~n| 1)} #res := 0; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:31,054 INFO L290 TraceCheckUtils]: 45: Hoare triple {1900#(<= |finddup_#in~n| 1)} assume true; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:31,055 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1900#(<= |finddup_#in~n| 1)} {1868#(<= 2 main_~n~0)} #104#return; {1838#false} is VALID [2022-04-28 04:10:31,055 INFO L290 TraceCheckUtils]: 47: Hoare triple {1838#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {1838#false} is VALID [2022-04-28 04:10:31,055 INFO L272 TraceCheckUtils]: 48: Hoare triple {1838#false} call __VERIFIER_assert(~r~0); {1838#false} is VALID [2022-04-28 04:10:31,055 INFO L290 TraceCheckUtils]: 49: Hoare triple {1838#false} ~cond := #in~cond; {1838#false} is VALID [2022-04-28 04:10:31,055 INFO L290 TraceCheckUtils]: 50: Hoare triple {1838#false} assume 0 == ~cond; {1838#false} is VALID [2022-04-28 04:10:31,055 INFO L290 TraceCheckUtils]: 51: Hoare triple {1838#false} assume !false; {1838#false} is VALID [2022-04-28 04:10:31,056 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 9 proven. 1 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:10:31,056 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:10:32,790 INFO L290 TraceCheckUtils]: 51: Hoare triple {1838#false} assume !false; {1838#false} is VALID [2022-04-28 04:10:32,790 INFO L290 TraceCheckUtils]: 50: Hoare triple {1838#false} assume 0 == ~cond; {1838#false} is VALID [2022-04-28 04:10:32,790 INFO L290 TraceCheckUtils]: 49: Hoare triple {1838#false} ~cond := #in~cond; {1838#false} is VALID [2022-04-28 04:10:32,790 INFO L272 TraceCheckUtils]: 48: Hoare triple {1838#false} call __VERIFIER_assert(~r~0); {1838#false} is VALID [2022-04-28 04:10:32,790 INFO L290 TraceCheckUtils]: 47: Hoare triple {1838#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {1838#false} is VALID [2022-04-28 04:10:32,791 INFO L284 TraceCheckUtils]: 46: Hoare quadruple {1900#(<= |finddup_#in~n| 1)} {1868#(<= 2 main_~n~0)} #104#return; {1838#false} is VALID [2022-04-28 04:10:32,792 INFO L290 TraceCheckUtils]: 45: Hoare triple {1900#(<= |finddup_#in~n| 1)} assume true; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:32,792 INFO L290 TraceCheckUtils]: 44: Hoare triple {1900#(<= |finddup_#in~n| 1)} #res := 0; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:32,792 INFO L290 TraceCheckUtils]: 43: Hoare triple {1900#(<= |finddup_#in~n| 1)} assume !(~i~1 < ~n); {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:32,792 INFO L290 TraceCheckUtils]: 42: Hoare triple {1900#(<= |finddup_#in~n| 1)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:32,793 INFO L290 TraceCheckUtils]: 41: Hoare triple {2095#(or (<= |finddup_#in~n| 1) (< finddup_~j~1 finddup_~n))} assume !(~j~1 < ~n); {1900#(<= |finddup_#in~n| 1)} is VALID [2022-04-28 04:10:32,793 INFO L290 TraceCheckUtils]: 40: Hoare triple {2099#(or (<= |finddup_#in~n| 1) (< (+ finddup_~i~1 1) finddup_~n))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {2095#(or (<= |finddup_#in~n| 1) (< finddup_~j~1 finddup_~n))} is VALID [2022-04-28 04:10:32,793 INFO L290 TraceCheckUtils]: 39: Hoare triple {1837#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {2099#(or (<= |finddup_#in~n| 1) (< (+ finddup_~i~1 1) finddup_~n))} is VALID [2022-04-28 04:10:32,794 INFO L272 TraceCheckUtils]: 38: Hoare triple {1868#(<= 2 main_~n~0)} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {1837#true} is VALID [2022-04-28 04:10:32,794 INFO L290 TraceCheckUtils]: 37: Hoare triple {1868#(<= 2 main_~n~0)} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {1868#(<= 2 main_~n~0)} is VALID [2022-04-28 04:10:32,794 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {1894#(<= 2 |mkdup_#in~n|)} {1837#true} #102#return; {1868#(<= 2 main_~n~0)} is VALID [2022-04-28 04:10:32,795 INFO L290 TraceCheckUtils]: 35: Hoare triple {1894#(<= 2 |mkdup_#in~n|)} assume true; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:32,795 INFO L290 TraceCheckUtils]: 34: Hoare triple {1894#(<= 2 |mkdup_#in~n|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:32,795 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} #120#return; {1894#(<= 2 |mkdup_#in~n|)} is VALID [2022-04-28 04:10:32,796 INFO L290 TraceCheckUtils]: 32: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:32,796 INFO L290 TraceCheckUtils]: 31: Hoare triple {2130#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:32,796 INFO L290 TraceCheckUtils]: 30: Hoare triple {1837#true} ~cond := #in~cond; {2130#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:10:32,796 INFO L272 TraceCheckUtils]: 29: Hoare triple {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:32,797 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {2137#(or (and (or (<= mkdup_~n 0) (<= mkdup_~i~0 0)) (or (<= mkdup_~n 0) (<= mkdup_~n (+ mkdup_~i~0 1)))) (<= 2 |mkdup_#in~n|))} #118#return; {1889#(or (= mkdup_~j~0 mkdup_~i~0) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:32,797 INFO L290 TraceCheckUtils]: 27: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:32,798 INFO L290 TraceCheckUtils]: 26: Hoare triple {2130#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:32,798 INFO L290 TraceCheckUtils]: 25: Hoare triple {1837#true} ~cond := #in~cond; {2130#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:10:32,798 INFO L272 TraceCheckUtils]: 24: Hoare triple {2137#(or (and (or (<= mkdup_~n 0) (<= mkdup_~i~0 0)) (or (<= mkdup_~n 0) (<= mkdup_~n (+ mkdup_~i~0 1)))) (<= 2 |mkdup_#in~n|))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:32,799 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} {2153#(or (<= mkdup_~n 1) (<= 2 |mkdup_#in~n|))} #116#return; {2137#(or (and (or (<= mkdup_~n 0) (<= mkdup_~i~0 0)) (or (<= mkdup_~n 0) (<= mkdup_~n (+ mkdup_~i~0 1)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:32,799 INFO L290 TraceCheckUtils]: 22: Hoare triple {1896#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:32,799 INFO L290 TraceCheckUtils]: 21: Hoare triple {2130#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} assume !(0 == ~cond); {1896#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:32,799 INFO L290 TraceCheckUtils]: 20: Hoare triple {1837#true} ~cond := #in~cond; {2130#(or (not (= |assume_abort_if_not_#in~cond| 0)) (= assume_abort_if_not_~cond 0))} is VALID [2022-04-28 04:10:32,799 INFO L272 TraceCheckUtils]: 19: Hoare triple {2153#(or (<= mkdup_~n 1) (<= 2 |mkdup_#in~n|))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:32,800 INFO L290 TraceCheckUtils]: 18: Hoare triple {1837#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {2153#(or (<= mkdup_~n 1) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:32,800 INFO L272 TraceCheckUtils]: 17: Hoare triple {1837#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {1837#true} is VALID [2022-04-28 04:10:32,800 INFO L290 TraceCheckUtils]: 16: Hoare triple {1837#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {1837#true} is VALID [2022-04-28 04:10:32,800 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {1837#true} {1837#true} #100#return; {1837#true} is VALID [2022-04-28 04:10:32,800 INFO L290 TraceCheckUtils]: 14: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:32,800 INFO L290 TraceCheckUtils]: 13: Hoare triple {1837#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {1837#true} is VALID [2022-04-28 04:10:32,800 INFO L272 TraceCheckUtils]: 12: Hoare triple {1837#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {1837#true} is VALID [2022-04-28 04:10:32,800 INFO L290 TraceCheckUtils]: 11: Hoare triple {1837#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {1837#true} {1837#true} #98#return; {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L290 TraceCheckUtils]: 9: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L290 TraceCheckUtils]: 8: Hoare triple {1837#true} assume !(0 == ~cond); {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L290 TraceCheckUtils]: 7: Hoare triple {1837#true} ~cond := #in~cond; {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L272 TraceCheckUtils]: 6: Hoare triple {1837#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L290 TraceCheckUtils]: 5: Hoare triple {1837#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L272 TraceCheckUtils]: 4: Hoare triple {1837#true} call #t~ret27 := main(); {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {1837#true} {1837#true} #122#return; {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L290 TraceCheckUtils]: 2: Hoare triple {1837#true} assume true; {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L290 TraceCheckUtils]: 1: Hoare triple {1837#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(10, 2);call #Ultimate.allocInit(12, 3); {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L272 TraceCheckUtils]: 0: Hoare triple {1837#true} call ULTIMATE.init(); {1837#true} is VALID [2022-04-28 04:10:32,801 INFO L134 CoverageAnalysis]: Checked inductivity of 25 backedges. 10 proven. 0 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:10:32,802 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1873900756] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 04:10:32,802 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:10:32,802 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [15, 12] total 25 [2022-04-28 04:10:32,802 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:10:32,802 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [2132286435] [2022-04-28 04:10:32,802 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [2132286435] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:32,802 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:32,802 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [12] imperfect sequences [] total 12 [2022-04-28 04:10:32,802 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1309881237] [2022-04-28 04:10:32,802 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:10:32,803 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) Word has length 52 [2022-04-28 04:10:32,803 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:10:32,803 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:32,832 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:32,832 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 12 states [2022-04-28 04:10:32,832 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:32,833 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 12 interpolants. [2022-04-28 04:10:32,833 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=74, Invalid=526, Unknown=0, NotChecked=0, Total=600 [2022-04-28 04:10:32,833 INFO L87 Difference]: Start difference. First operand 63 states and 74 transitions. Second operand has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:33,458 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:33,458 INFO L93 Difference]: Finished difference Result 104 states and 126 transitions. [2022-04-28 04:10:33,458 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:10:33,458 INFO L78 Accepts]: Start accepts. Automaton has has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) Word has length 52 [2022-04-28 04:10:33,459 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:10:33,459 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:33,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 112 transitions. [2022-04-28 04:10:33,461 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:33,463 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 112 transitions. [2022-04-28 04:10:33,463 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 112 transitions. [2022-04-28 04:10:33,549 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 112 edges. 112 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:33,550 INFO L225 Difference]: With dead ends: 104 [2022-04-28 04:10:33,550 INFO L226 Difference]: Without dead ends: 70 [2022-04-28 04:10:33,551 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 134 GetRequests, 106 SyntacticMatches, 3 SemanticMatches, 25 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 100 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=86, Invalid=616, Unknown=0, NotChecked=0, Total=702 [2022-04-28 04:10:33,551 INFO L413 NwaCegarLoop]: 58 mSDtfsCounter, 42 mSDsluCounter, 421 mSDsCounter, 0 mSdLazyCounter, 181 mSolverCounterSat, 5 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 50 SdHoareTripleChecker+Valid, 479 SdHoareTripleChecker+Invalid, 186 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 5 IncrementalHoareTripleChecker+Valid, 181 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:10:33,552 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [50 Valid, 479 Invalid, 186 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [5 Valid, 181 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:10:33,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 70 states. [2022-04-28 04:10:33,587 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 70 to 64. [2022-04-28 04:10:33,588 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:10:33,588 INFO L82 GeneralOperation]: Start isEquivalent. First operand 70 states. Second operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:33,588 INFO L74 IsIncluded]: Start isIncluded. First operand 70 states. Second operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:33,588 INFO L87 Difference]: Start difference. First operand 70 states. Second operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:33,590 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:33,591 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 04:10:33,591 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 04:10:33,591 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:33,591 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:33,591 INFO L74 IsIncluded]: Start isIncluded. First operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 70 states. [2022-04-28 04:10:33,591 INFO L87 Difference]: Start difference. First operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 70 states. [2022-04-28 04:10:33,593 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:33,593 INFO L93 Difference]: Finished difference Result 70 states and 83 transitions. [2022-04-28 04:10:33,593 INFO L276 IsEmpty]: Start isEmpty. Operand 70 states and 83 transitions. [2022-04-28 04:10:33,594 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:33,594 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:33,594 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:10:33,594 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:10:33,594 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 64 states, 40 states have (on average 1.15) internal successors, (46), 42 states have internal predecessors, (46), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:33,596 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 64 states to 64 states and 75 transitions. [2022-04-28 04:10:33,596 INFO L78 Accepts]: Start accepts. Automaton has 64 states and 75 transitions. Word has length 52 [2022-04-28 04:10:33,596 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:10:33,596 INFO L495 AbstractCegarLoop]: Abstraction has 64 states and 75 transitions. [2022-04-28 04:10:33,596 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 12 states, 9 states have (on average 3.111111111111111) internal successors, (28), 10 states have internal predecessors, (28), 6 states have call successors, (10), 2 states have call predecessors, (10), 4 states have return successors, (8), 6 states have call predecessors, (8), 5 states have call successors, (8) [2022-04-28 04:10:33,596 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 64 states and 75 transitions. [2022-04-28 04:10:33,662 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 75 edges. 75 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:33,663 INFO L276 IsEmpty]: Start isEmpty. Operand 64 states and 75 transitions. [2022-04-28 04:10:33,663 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 56 [2022-04-28 04:10:33,663 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:10:33,663 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:10:33,680 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-28 04:10:33,871 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-28 04:10:33,873 INFO L420 AbstractCegarLoop]: === Iteration 5 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:10:33,873 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:10:33,873 INFO L85 PathProgramCache]: Analyzing trace with hash 2045094069, now seen corresponding path program 1 times [2022-04-28 04:10:33,873 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:33,873 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [58542483] [2022-04-28 04:10:33,873 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:10:33,874 INFO L85 PathProgramCache]: Analyzing trace with hash 2045094069, now seen corresponding path program 2 times [2022-04-28 04:10:33,874 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:10:33,874 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1655036240] [2022-04-28 04:10:33,874 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:10:33,874 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:10:33,891 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,912 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:10:33,913 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,916 INFO L290 TraceCheckUtils]: 0: Hoare triple {2744#(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(10, 2);call #Ultimate.allocInit(12, 3); {2702#true} is VALID [2022-04-28 04:10:33,916 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,916 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2702#true} {2702#true} #122#return; {2702#true} is VALID [2022-04-28 04:10:33,916 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:33,917 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,919 INFO L290 TraceCheckUtils]: 0: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,919 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,919 INFO L290 TraceCheckUtils]: 2: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,920 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2702#true} {2702#true} #98#return; {2702#true} is VALID [2022-04-28 04:10:33,921 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:10:33,922 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,924 INFO L290 TraceCheckUtils]: 0: Hoare triple {2745#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2702#true} is VALID [2022-04-28 04:10:33,924 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,924 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {2702#true} {2702#true} #100#return; {2702#true} is VALID [2022-04-28 04:10:33,925 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:10:33,929 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,933 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:10:33,934 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,935 INFO L290 TraceCheckUtils]: 0: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,935 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,935 INFO L290 TraceCheckUtils]: 2: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,935 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2702#true} {2702#true} #116#return; {2702#true} is VALID [2022-04-28 04:10:33,935 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:33,936 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,938 INFO L290 TraceCheckUtils]: 0: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,938 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,938 INFO L290 TraceCheckUtils]: 2: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,938 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2702#true} {2702#true} #118#return; {2702#true} is VALID [2022-04-28 04:10:33,938 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:10:33,938 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,941 INFO L290 TraceCheckUtils]: 0: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,941 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,941 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2702#true} {2702#true} #120#return; {2702#true} is VALID [2022-04-28 04:10:33,941 INFO L290 TraceCheckUtils]: 0: Hoare triple {2745#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {2702#true} is VALID [2022-04-28 04:10:33,941 INFO L272 TraceCheckUtils]: 1: Hoare triple {2702#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:33,941 INFO L290 TraceCheckUtils]: 2: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,941 INFO L290 TraceCheckUtils]: 3: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L290 TraceCheckUtils]: 4: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {2702#true} {2702#true} #116#return; {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L272 TraceCheckUtils]: 6: Hoare triple {2702#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L290 TraceCheckUtils]: 7: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L290 TraceCheckUtils]: 8: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L290 TraceCheckUtils]: 9: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2702#true} {2702#true} #118#return; {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L272 TraceCheckUtils]: 11: Hoare triple {2702#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L290 TraceCheckUtils]: 12: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L290 TraceCheckUtils]: 13: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L290 TraceCheckUtils]: 14: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2702#true} {2702#true} #120#return; {2702#true} is VALID [2022-04-28 04:10:33,942 INFO L290 TraceCheckUtils]: 16: Hoare triple {2702#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {2702#true} is VALID [2022-04-28 04:10:33,943 INFO L290 TraceCheckUtils]: 17: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,943 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {2702#true} {2702#true} #102#return; {2702#true} is VALID [2022-04-28 04:10:33,943 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:10:33,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:33,970 INFO L290 TraceCheckUtils]: 0: Hoare triple {2745#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {2702#true} is VALID [2022-04-28 04:10:33,971 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {2758#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:10:33,971 INFO L290 TraceCheckUtils]: 2: Hoare triple {2758#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:33,972 INFO L290 TraceCheckUtils]: 3: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:33,972 INFO L290 TraceCheckUtils]: 4: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:33,972 INFO L290 TraceCheckUtils]: 5: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(~j~1 < ~n); {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:33,973 INFO L290 TraceCheckUtils]: 6: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {2760#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-28 04:10:33,973 INFO L290 TraceCheckUtils]: 7: Hoare triple {2760#(<= (+ finddup_~i~1 1) finddup_~n)} assume !(~i~1 < ~n); {2703#false} is VALID [2022-04-28 04:10:33,973 INFO L290 TraceCheckUtils]: 8: Hoare triple {2703#false} #res := 0; {2703#false} is VALID [2022-04-28 04:10:33,973 INFO L290 TraceCheckUtils]: 9: Hoare triple {2703#false} assume true; {2703#false} is VALID [2022-04-28 04:10:33,973 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2703#false} {2702#true} #104#return; {2703#false} is VALID [2022-04-28 04:10:33,974 INFO L272 TraceCheckUtils]: 0: Hoare triple {2702#true} call ULTIMATE.init(); {2744#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:10:33,974 INFO L290 TraceCheckUtils]: 1: Hoare triple {2744#(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(10, 2);call #Ultimate.allocInit(12, 3); {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L290 TraceCheckUtils]: 2: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2702#true} {2702#true} #122#return; {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L272 TraceCheckUtils]: 4: Hoare triple {2702#true} call #t~ret27 := main(); {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L290 TraceCheckUtils]: 5: Hoare triple {2702#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L272 TraceCheckUtils]: 6: Hoare triple {2702#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L290 TraceCheckUtils]: 7: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L290 TraceCheckUtils]: 8: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L290 TraceCheckUtils]: 9: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2702#true} {2702#true} #98#return; {2702#true} is VALID [2022-04-28 04:10:33,974 INFO L290 TraceCheckUtils]: 11: Hoare triple {2702#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2702#true} is VALID [2022-04-28 04:10:33,975 INFO L272 TraceCheckUtils]: 12: Hoare triple {2702#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {2745#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:33,975 INFO L290 TraceCheckUtils]: 13: Hoare triple {2745#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2702#true} is VALID [2022-04-28 04:10:33,975 INFO L290 TraceCheckUtils]: 14: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,975 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2702#true} {2702#true} #100#return; {2702#true} is VALID [2022-04-28 04:10:33,975 INFO L290 TraceCheckUtils]: 16: Hoare triple {2702#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L272 TraceCheckUtils]: 17: Hoare triple {2702#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {2745#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:33,976 INFO L290 TraceCheckUtils]: 18: Hoare triple {2745#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L272 TraceCheckUtils]: 19: Hoare triple {2702#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L290 TraceCheckUtils]: 20: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L290 TraceCheckUtils]: 21: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L290 TraceCheckUtils]: 22: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2702#true} {2702#true} #116#return; {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L272 TraceCheckUtils]: 24: Hoare triple {2702#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L290 TraceCheckUtils]: 25: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,976 INFO L290 TraceCheckUtils]: 26: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L290 TraceCheckUtils]: 27: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2702#true} {2702#true} #118#return; {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L272 TraceCheckUtils]: 29: Hoare triple {2702#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L290 TraceCheckUtils]: 30: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L290 TraceCheckUtils]: 31: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L290 TraceCheckUtils]: 32: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2702#true} {2702#true} #120#return; {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L290 TraceCheckUtils]: 34: Hoare triple {2702#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L290 TraceCheckUtils]: 35: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2702#true} {2702#true} #102#return; {2702#true} is VALID [2022-04-28 04:10:33,977 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {2702#true} is VALID [2022-04-28 04:10:33,978 INFO L272 TraceCheckUtils]: 38: Hoare triple {2702#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {2745#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:33,978 INFO L290 TraceCheckUtils]: 39: Hoare triple {2745#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {2702#true} is VALID [2022-04-28 04:10:33,978 INFO L290 TraceCheckUtils]: 40: Hoare triple {2702#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {2758#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:10:33,979 INFO L290 TraceCheckUtils]: 41: Hoare triple {2758#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:33,979 INFO L290 TraceCheckUtils]: 42: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:33,979 INFO L290 TraceCheckUtils]: 43: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:33,980 INFO L290 TraceCheckUtils]: 44: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(~j~1 < ~n); {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:33,980 INFO L290 TraceCheckUtils]: 45: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {2760#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-28 04:10:33,981 INFO L290 TraceCheckUtils]: 46: Hoare triple {2760#(<= (+ finddup_~i~1 1) finddup_~n)} assume !(~i~1 < ~n); {2703#false} is VALID [2022-04-28 04:10:33,981 INFO L290 TraceCheckUtils]: 47: Hoare triple {2703#false} #res := 0; {2703#false} is VALID [2022-04-28 04:10:33,981 INFO L290 TraceCheckUtils]: 48: Hoare triple {2703#false} assume true; {2703#false} is VALID [2022-04-28 04:10:33,981 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2703#false} {2702#true} #104#return; {2703#false} is VALID [2022-04-28 04:10:33,981 INFO L290 TraceCheckUtils]: 50: Hoare triple {2703#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {2703#false} is VALID [2022-04-28 04:10:33,981 INFO L272 TraceCheckUtils]: 51: Hoare triple {2703#false} call __VERIFIER_assert(~r~0); {2703#false} is VALID [2022-04-28 04:10:33,981 INFO L290 TraceCheckUtils]: 52: Hoare triple {2703#false} ~cond := #in~cond; {2703#false} is VALID [2022-04-28 04:10:33,981 INFO L290 TraceCheckUtils]: 53: Hoare triple {2703#false} assume 0 == ~cond; {2703#false} is VALID [2022-04-28 04:10:33,981 INFO L290 TraceCheckUtils]: 54: Hoare triple {2703#false} assume !false; {2703#false} is VALID [2022-04-28 04:10:33,982 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:10:33,982 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:10:33,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1655036240] [2022-04-28 04:10:33,982 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1655036240] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:10:33,982 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1378205126] [2022-04-28 04:10:33,982 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:10:33,982 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:10:33,982 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:10:33,983 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-28 04:10:34,003 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-28 04:10:34,048 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:10:34,048 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:10:34,049 INFO L263 TraceCheckSpWp]: Trace formula consists of 238 conjuncts, 4 conjunts are in the unsatisfiable core [2022-04-28 04:10:34,059 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:34,060 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:10:34,188 INFO L272 TraceCheckUtils]: 0: Hoare triple {2702#true} call ULTIMATE.init(); {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#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(10, 2);call #Ultimate.allocInit(12, 3); {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L290 TraceCheckUtils]: 2: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2702#true} {2702#true} #122#return; {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L272 TraceCheckUtils]: 4: Hoare triple {2702#true} call #t~ret27 := main(); {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L290 TraceCheckUtils]: 5: Hoare triple {2702#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L272 TraceCheckUtils]: 6: Hoare triple {2702#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L290 TraceCheckUtils]: 7: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L290 TraceCheckUtils]: 8: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L290 TraceCheckUtils]: 9: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2702#true} {2702#true} #98#return; {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L290 TraceCheckUtils]: 11: Hoare triple {2702#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2702#true} is VALID [2022-04-28 04:10:34,189 INFO L272 TraceCheckUtils]: 12: Hoare triple {2702#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 13: Hoare triple {2702#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 14: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2702#true} {2702#true} #100#return; {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 16: Hoare triple {2702#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L272 TraceCheckUtils]: 17: Hoare triple {2702#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 18: Hoare triple {2702#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L272 TraceCheckUtils]: 19: Hoare triple {2702#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 20: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 21: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 22: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2702#true} {2702#true} #116#return; {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L272 TraceCheckUtils]: 24: Hoare triple {2702#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 25: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:34,190 INFO L290 TraceCheckUtils]: 26: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L290 TraceCheckUtils]: 27: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2702#true} {2702#true} #118#return; {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L272 TraceCheckUtils]: 29: Hoare triple {2702#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L290 TraceCheckUtils]: 30: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L290 TraceCheckUtils]: 31: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L290 TraceCheckUtils]: 32: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2702#true} {2702#true} #120#return; {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L290 TraceCheckUtils]: 34: Hoare triple {2702#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L290 TraceCheckUtils]: 35: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2702#true} {2702#true} #102#return; {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L272 TraceCheckUtils]: 38: Hoare triple {2702#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {2702#true} is VALID [2022-04-28 04:10:34,191 INFO L290 TraceCheckUtils]: 39: Hoare triple {2702#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {2702#true} is VALID [2022-04-28 04:10:34,202 INFO L290 TraceCheckUtils]: 40: Hoare triple {2702#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {2758#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:10:34,202 INFO L290 TraceCheckUtils]: 41: Hoare triple {2758#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:34,203 INFO L290 TraceCheckUtils]: 42: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:34,203 INFO L290 TraceCheckUtils]: 43: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:34,203 INFO L290 TraceCheckUtils]: 44: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(~j~1 < ~n); {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:34,204 INFO L290 TraceCheckUtils]: 45: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {2760#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-28 04:10:34,204 INFO L290 TraceCheckUtils]: 46: Hoare triple {2760#(<= (+ finddup_~i~1 1) finddup_~n)} assume !(~i~1 < ~n); {2703#false} is VALID [2022-04-28 04:10:34,204 INFO L290 TraceCheckUtils]: 47: Hoare triple {2703#false} #res := 0; {2703#false} is VALID [2022-04-28 04:10:34,204 INFO L290 TraceCheckUtils]: 48: Hoare triple {2703#false} assume true; {2703#false} is VALID [2022-04-28 04:10:34,204 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2703#false} {2702#true} #104#return; {2703#false} is VALID [2022-04-28 04:10:34,204 INFO L290 TraceCheckUtils]: 50: Hoare triple {2703#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {2703#false} is VALID [2022-04-28 04:10:34,204 INFO L272 TraceCheckUtils]: 51: Hoare triple {2703#false} call __VERIFIER_assert(~r~0); {2703#false} is VALID [2022-04-28 04:10:34,204 INFO L290 TraceCheckUtils]: 52: Hoare triple {2703#false} ~cond := #in~cond; {2703#false} is VALID [2022-04-28 04:10:34,204 INFO L290 TraceCheckUtils]: 53: Hoare triple {2703#false} assume 0 == ~cond; {2703#false} is VALID [2022-04-28 04:10:34,205 INFO L290 TraceCheckUtils]: 54: Hoare triple {2703#false} assume !false; {2703#false} is VALID [2022-04-28 04:10:34,205 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:10:34,205 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:10:34,383 INFO L290 TraceCheckUtils]: 54: Hoare triple {2703#false} assume !false; {2703#false} is VALID [2022-04-28 04:10:34,384 INFO L290 TraceCheckUtils]: 53: Hoare triple {2703#false} assume 0 == ~cond; {2703#false} is VALID [2022-04-28 04:10:34,384 INFO L290 TraceCheckUtils]: 52: Hoare triple {2703#false} ~cond := #in~cond; {2703#false} is VALID [2022-04-28 04:10:34,384 INFO L272 TraceCheckUtils]: 51: Hoare triple {2703#false} call __VERIFIER_assert(~r~0); {2703#false} is VALID [2022-04-28 04:10:34,384 INFO L290 TraceCheckUtils]: 50: Hoare triple {2703#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {2703#false} is VALID [2022-04-28 04:10:34,384 INFO L284 TraceCheckUtils]: 49: Hoare quadruple {2703#false} {2702#true} #104#return; {2703#false} is VALID [2022-04-28 04:10:34,384 INFO L290 TraceCheckUtils]: 48: Hoare triple {2703#false} assume true; {2703#false} is VALID [2022-04-28 04:10:34,384 INFO L290 TraceCheckUtils]: 47: Hoare triple {2703#false} #res := 0; {2703#false} is VALID [2022-04-28 04:10:34,385 INFO L290 TraceCheckUtils]: 46: Hoare triple {2760#(<= (+ finddup_~i~1 1) finddup_~n)} assume !(~i~1 < ~n); {2703#false} is VALID [2022-04-28 04:10:34,385 INFO L290 TraceCheckUtils]: 45: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {2760#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-28 04:10:34,385 INFO L290 TraceCheckUtils]: 44: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(~j~1 < ~n); {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:34,386 INFO L290 TraceCheckUtils]: 43: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:34,392 INFO L290 TraceCheckUtils]: 42: Hoare triple {2759#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:34,393 INFO L290 TraceCheckUtils]: 41: Hoare triple {2758#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {2759#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:10:34,393 INFO L290 TraceCheckUtils]: 40: Hoare triple {2702#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {2758#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:10:34,393 INFO L290 TraceCheckUtils]: 39: Hoare triple {2702#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L272 TraceCheckUtils]: 38: Hoare triple {2702#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L290 TraceCheckUtils]: 37: Hoare triple {2702#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {2702#true} {2702#true} #102#return; {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L290 TraceCheckUtils]: 35: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L290 TraceCheckUtils]: 34: Hoare triple {2702#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {2702#true} {2702#true} #120#return; {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L290 TraceCheckUtils]: 32: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L290 TraceCheckUtils]: 31: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L290 TraceCheckUtils]: 30: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L272 TraceCheckUtils]: 29: Hoare triple {2702#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {2702#true} {2702#true} #118#return; {2702#true} is VALID [2022-04-28 04:10:34,394 INFO L290 TraceCheckUtils]: 27: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 26: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 25: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L272 TraceCheckUtils]: 24: Hoare triple {2702#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {2702#true} {2702#true} #116#return; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 22: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 21: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 20: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L272 TraceCheckUtils]: 19: Hoare triple {2702#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 18: Hoare triple {2702#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L272 TraceCheckUtils]: 17: Hoare triple {2702#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 16: Hoare triple {2702#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {2702#true} {2702#true} #100#return; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {2702#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L272 TraceCheckUtils]: 12: Hoare triple {2702#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L290 TraceCheckUtils]: 11: Hoare triple {2702#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {2702#true} {2702#true} #98#return; {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L290 TraceCheckUtils]: 9: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L290 TraceCheckUtils]: 8: Hoare triple {2702#true} assume !(0 == ~cond); {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L290 TraceCheckUtils]: 7: Hoare triple {2702#true} ~cond := #in~cond; {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L272 TraceCheckUtils]: 6: Hoare triple {2702#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L290 TraceCheckUtils]: 5: Hoare triple {2702#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L272 TraceCheckUtils]: 4: Hoare triple {2702#true} call #t~ret27 := main(); {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {2702#true} {2702#true} #122#return; {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L290 TraceCheckUtils]: 2: Hoare triple {2702#true} assume true; {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L290 TraceCheckUtils]: 1: Hoare triple {2702#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(10, 2);call #Ultimate.allocInit(12, 3); {2702#true} is VALID [2022-04-28 04:10:34,396 INFO L272 TraceCheckUtils]: 0: Hoare triple {2702#true} call ULTIMATE.init(); {2702#true} is VALID [2022-04-28 04:10:34,397 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:10:34,397 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1378205126] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:10:34,397 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:10:34,397 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [7, 5, 5] total 7 [2022-04-28 04:10:34,397 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:10:34,397 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [58542483] [2022-04-28 04:10:34,397 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [58542483] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:34,397 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:34,397 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [7] imperfect sequences [] total 7 [2022-04-28 04:10:34,397 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [503715366] [2022-04-28 04:10:34,397 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:10:34,398 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 5 states have internal predecessors, (28), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 55 [2022-04-28 04:10:34,398 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:10:34,398 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 7 states, 7 states have (on average 4.0) internal successors, (28), 5 states have internal predecessors, (28), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:34,427 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 46 edges. 46 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:34,427 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 7 states [2022-04-28 04:10:34,427 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:34,427 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 7 interpolants. [2022-04-28 04:10:34,427 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=12, Invalid=30, Unknown=0, NotChecked=0, Total=42 [2022-04-28 04:10:34,427 INFO L87 Difference]: Start difference. First operand 64 states and 75 transitions. Second operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 5 states have internal predecessors, (28), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:34,890 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:34,890 INFO L93 Difference]: Finished difference Result 88 states and 106 transitions. [2022-04-28 04:10:34,890 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 9 states. [2022-04-28 04:10:34,890 INFO L78 Accepts]: Start accepts. Automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 5 states have internal predecessors, (28), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 55 [2022-04-28 04:10:34,890 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:10:34,891 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 5 states have internal predecessors, (28), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:34,892 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 98 transitions. [2022-04-28 04:10:34,892 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 7 states, 7 states have (on average 4.0) internal successors, (28), 5 states have internal predecessors, (28), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:34,894 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 9 states to 9 states and 98 transitions. [2022-04-28 04:10:34,894 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 9 states and 98 transitions. [2022-04-28 04:10:34,966 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:34,968 INFO L225 Difference]: With dead ends: 88 [2022-04-28 04:10:34,968 INFO L226 Difference]: Without dead ends: 67 [2022-04-28 04:10:34,968 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 137 GetRequests, 125 SyntacticMatches, 2 SemanticMatches, 10 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 8 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=47, Invalid=85, Unknown=0, NotChecked=0, Total=132 [2022-04-28 04:10:34,968 INFO L413 NwaCegarLoop]: 47 mSDtfsCounter, 66 mSDsluCounter, 4 mSDsCounter, 0 mSdLazyCounter, 171 mSolverCounterSat, 49 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 73 SdHoareTripleChecker+Valid, 51 SdHoareTripleChecker+Invalid, 220 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 49 IncrementalHoareTripleChecker+Valid, 171 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:10:34,969 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [73 Valid, 51 Invalid, 220 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [49 Valid, 171 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:10:34,969 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 67 states. [2022-04-28 04:10:35,017 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 67 to 67. [2022-04-28 04:10:35,017 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:10:35,017 INFO L82 GeneralOperation]: Start isEquivalent. First operand 67 states. Second operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:35,018 INFO L74 IsIncluded]: Start isIncluded. First operand 67 states. Second operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:35,018 INFO L87 Difference]: Start difference. First operand 67 states. Second operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:35,020 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:35,020 INFO L93 Difference]: Finished difference Result 67 states and 79 transitions. [2022-04-28 04:10:35,020 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 79 transitions. [2022-04-28 04:10:35,020 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:35,020 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:35,021 INFO L74 IsIncluded]: Start isIncluded. First operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 67 states. [2022-04-28 04:10:35,021 INFO L87 Difference]: Start difference. First operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) Second operand 67 states. [2022-04-28 04:10:35,023 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:35,023 INFO L93 Difference]: Finished difference Result 67 states and 79 transitions. [2022-04-28 04:10:35,023 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 79 transitions. [2022-04-28 04:10:35,023 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:35,023 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:35,023 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:10:35,023 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:10:35,024 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 67 states, 43 states have (on average 1.1627906976744187) internal successors, (50), 45 states have internal predecessors, (50), 15 states have call successors, (15), 8 states have call predecessors, (15), 8 states have return successors, (14), 13 states have call predecessors, (14), 13 states have call successors, (14) [2022-04-28 04:10:35,025 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 67 states to 67 states and 79 transitions. [2022-04-28 04:10:35,026 INFO L78 Accepts]: Start accepts. Automaton has 67 states and 79 transitions. Word has length 55 [2022-04-28 04:10:35,026 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:10:35,026 INFO L495 AbstractCegarLoop]: Abstraction has 67 states and 79 transitions. [2022-04-28 04:10:35,026 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 7 states, 7 states have (on average 4.0) internal successors, (28), 5 states have internal predecessors, (28), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:10:35,026 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 67 states and 79 transitions. [2022-04-28 04:10:35,093 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 79 edges. 79 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:35,093 INFO L276 IsEmpty]: Start isEmpty. Operand 67 states and 79 transitions. [2022-04-28 04:10:35,093 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:10:35,093 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:10:35,093 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:10:35,111 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-28 04:10:35,309 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-28 04:10:35,310 INFO L420 AbstractCegarLoop]: === Iteration 6 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:10:35,310 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:10:35,310 INFO L85 PathProgramCache]: Analyzing trace with hash 629236887, now seen corresponding path program 1 times [2022-04-28 04:10:35,310 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:35,310 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [837436011] [2022-04-28 04:10:35,311 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:10:35,311 INFO L85 PathProgramCache]: Analyzing trace with hash 629236887, now seen corresponding path program 2 times [2022-04-28 04:10:35,311 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:10:35,311 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [149026169] [2022-04-28 04:10:35,311 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:10:35,311 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:10:35,336 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,428 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:10:35,429 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,439 INFO L290 TraceCheckUtils]: 0: Hoare triple {3594#(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(10, 2);call #Ultimate.allocInit(12, 3); {3545#true} is VALID [2022-04-28 04:10:35,439 INFO L290 TraceCheckUtils]: 1: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,440 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3545#true} {3545#true} #122#return; {3545#true} is VALID [2022-04-28 04:10:35,440 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:35,441 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,443 INFO L290 TraceCheckUtils]: 0: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,443 INFO L290 TraceCheckUtils]: 1: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,443 INFO L290 TraceCheckUtils]: 2: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,443 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3545#true} {3545#true} #98#return; {3545#true} is VALID [2022-04-28 04:10:35,450 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:10:35,453 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,456 INFO L290 TraceCheckUtils]: 0: Hoare triple {3595#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3545#true} is VALID [2022-04-28 04:10:35,456 INFO L290 TraceCheckUtils]: 1: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,456 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {3545#true} {3545#true} #100#return; {3545#true} is VALID [2022-04-28 04:10:35,457 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:10:35,461 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:10:35,464 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,466 INFO L290 TraceCheckUtils]: 2: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,466 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3545#true} {3545#true} #116#return; {3545#true} is VALID [2022-04-28 04:10:35,466 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:35,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,469 INFO L290 TraceCheckUtils]: 0: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,469 INFO L290 TraceCheckUtils]: 1: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,470 INFO L290 TraceCheckUtils]: 2: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,470 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3545#true} {3545#true} #118#return; {3545#true} is VALID [2022-04-28 04:10:35,470 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:10:35,470 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L290 TraceCheckUtils]: 1: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3545#true} {3545#true} #120#return; {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L290 TraceCheckUtils]: 0: Hoare triple {3595#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L272 TraceCheckUtils]: 1: Hoare triple {3545#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L290 TraceCheckUtils]: 2: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L290 TraceCheckUtils]: 3: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L290 TraceCheckUtils]: 4: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3545#true} {3545#true} #116#return; {3545#true} is VALID [2022-04-28 04:10:35,472 INFO L272 TraceCheckUtils]: 6: Hoare triple {3545#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L290 TraceCheckUtils]: 7: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L290 TraceCheckUtils]: 8: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L290 TraceCheckUtils]: 9: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3545#true} {3545#true} #118#return; {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L272 TraceCheckUtils]: 11: Hoare triple {3545#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L290 TraceCheckUtils]: 12: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L290 TraceCheckUtils]: 13: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L290 TraceCheckUtils]: 14: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3545#true} {3545#true} #120#return; {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L290 TraceCheckUtils]: 16: Hoare triple {3545#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L290 TraceCheckUtils]: 17: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,473 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {3545#true} {3545#true} #102#return; {3545#true} is VALID [2022-04-28 04:10:35,474 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:10:35,477 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {3595#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {3608#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:35,589 INFO L290 TraceCheckUtils]: 1: Hoare triple {3608#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {3609#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:35,590 INFO L290 TraceCheckUtils]: 2: Hoare triple {3609#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {3610#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:35,591 INFO L290 TraceCheckUtils]: 3: Hoare triple {3610#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {3611#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} is VALID [2022-04-28 04:10:35,591 INFO L290 TraceCheckUtils]: 4: Hoare triple {3611#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} assume true; {3611#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} is VALID [2022-04-28 04:10:35,592 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {3611#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} {3576#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {3583#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0)) (<= 2 main_~n~0))} is VALID [2022-04-28 04:10:35,592 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 04:10:35,593 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,621 INFO L290 TraceCheckUtils]: 0: Hoare triple {3545#true} ~cond := #in~cond; {3612#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:10:35,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {3612#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:35,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:35,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} {3584#(and (or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (<= 2 main_~n~0))} #106#return; {3589#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 main_~n~0))} is VALID [2022-04-28 04:10:35,622 INFO L272 TraceCheckUtils]: 0: Hoare triple {3545#true} call ULTIMATE.init(); {3594#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:10:35,623 INFO L290 TraceCheckUtils]: 1: Hoare triple {3594#(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(10, 2);call #Ultimate.allocInit(12, 3); {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L290 TraceCheckUtils]: 2: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3545#true} {3545#true} #122#return; {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L272 TraceCheckUtils]: 4: Hoare triple {3545#true} call #t~ret27 := main(); {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L290 TraceCheckUtils]: 5: Hoare triple {3545#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L272 TraceCheckUtils]: 6: Hoare triple {3545#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L290 TraceCheckUtils]: 7: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L290 TraceCheckUtils]: 8: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L290 TraceCheckUtils]: 9: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3545#true} {3545#true} #98#return; {3545#true} is VALID [2022-04-28 04:10:35,623 INFO L290 TraceCheckUtils]: 11: Hoare triple {3545#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {3545#true} is VALID [2022-04-28 04:10:35,624 INFO L272 TraceCheckUtils]: 12: Hoare triple {3545#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {3595#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:35,624 INFO L290 TraceCheckUtils]: 13: Hoare triple {3595#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3545#true} is VALID [2022-04-28 04:10:35,624 INFO L290 TraceCheckUtils]: 14: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,624 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3545#true} {3545#true} #100#return; {3545#true} is VALID [2022-04-28 04:10:35,624 INFO L290 TraceCheckUtils]: 16: Hoare triple {3545#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {3545#true} is VALID [2022-04-28 04:10:35,625 INFO L272 TraceCheckUtils]: 17: Hoare triple {3545#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {3595#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:35,625 INFO L290 TraceCheckUtils]: 18: Hoare triple {3595#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {3545#true} is VALID [2022-04-28 04:10:35,625 INFO L272 TraceCheckUtils]: 19: Hoare triple {3545#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:35,625 INFO L290 TraceCheckUtils]: 20: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,625 INFO L290 TraceCheckUtils]: 21: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,626 INFO L290 TraceCheckUtils]: 22: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,626 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3545#true} {3545#true} #116#return; {3545#true} is VALID [2022-04-28 04:10:35,626 INFO L272 TraceCheckUtils]: 24: Hoare triple {3545#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:35,626 INFO L290 TraceCheckUtils]: 25: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,626 INFO L290 TraceCheckUtils]: 26: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,626 INFO L290 TraceCheckUtils]: 27: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,626 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3545#true} {3545#true} #118#return; {3545#true} is VALID [2022-04-28 04:10:35,626 INFO L272 TraceCheckUtils]: 29: Hoare triple {3545#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:35,628 INFO L290 TraceCheckUtils]: 30: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:35,628 INFO L290 TraceCheckUtils]: 31: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:35,628 INFO L290 TraceCheckUtils]: 32: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,628 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3545#true} {3545#true} #120#return; {3545#true} is VALID [2022-04-28 04:10:35,629 INFO L290 TraceCheckUtils]: 34: Hoare triple {3545#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {3545#true} is VALID [2022-04-28 04:10:35,629 INFO L290 TraceCheckUtils]: 35: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:35,629 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3545#true} {3545#true} #102#return; {3545#true} is VALID [2022-04-28 04:10:35,629 INFO L290 TraceCheckUtils]: 37: Hoare triple {3545#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {3576#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-28 04:10:35,630 INFO L272 TraceCheckUtils]: 38: Hoare triple {3576#(not (= |main_~#i~2.base| |main_~#j~2.base|))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {3595#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:35,630 INFO L290 TraceCheckUtils]: 39: Hoare triple {3595#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {3608#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:35,631 INFO L290 TraceCheckUtils]: 40: Hoare triple {3608#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {3609#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:35,632 INFO L290 TraceCheckUtils]: 41: Hoare triple {3609#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= |finddup_#in~n| finddup_~n) (= finddup_~i~1 0) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {3610#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:35,632 INFO L290 TraceCheckUtils]: 42: Hoare triple {3610#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {3611#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} is VALID [2022-04-28 04:10:35,632 INFO L290 TraceCheckUtils]: 43: Hoare triple {3611#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} assume true; {3611#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} is VALID [2022-04-28 04:10:35,633 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3611#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 |finddup_#in~n|))} {3576#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {3583#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0)) (<= 2 main_~n~0))} is VALID [2022-04-28 04:10:35,634 INFO L290 TraceCheckUtils]: 45: Hoare triple {3583#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0)) (<= 2 main_~n~0))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {3584#(and (or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (<= 2 main_~n~0))} is VALID [2022-04-28 04:10:35,634 INFO L272 TraceCheckUtils]: 46: Hoare triple {3584#(and (or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (<= 2 main_~n~0))} call __VERIFIER_assert(~r~0); {3545#true} is VALID [2022-04-28 04:10:35,634 INFO L290 TraceCheckUtils]: 47: Hoare triple {3545#true} ~cond := #in~cond; {3612#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:10:35,634 INFO L290 TraceCheckUtils]: 48: Hoare triple {3612#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:35,635 INFO L290 TraceCheckUtils]: 49: Hoare triple {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:35,635 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} {3584#(and (or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (<= 2 main_~n~0))} #106#return; {3589#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 main_~n~0))} is VALID [2022-04-28 04:10:35,635 INFO L290 TraceCheckUtils]: 51: Hoare triple {3589#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 main_~n~0))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {3590#(<= (+ 2 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0)} is VALID [2022-04-28 04:10:35,636 INFO L290 TraceCheckUtils]: 52: Hoare triple {3590#(<= (+ 2 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) main_~n~0)} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {3591#|main_#t~short17|} is VALID [2022-04-28 04:10:35,641 INFO L272 TraceCheckUtils]: 53: Hoare triple {3591#|main_#t~short17|} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:35,641 INFO L290 TraceCheckUtils]: 54: Hoare triple {3592#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {3593#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:10:35,641 INFO L290 TraceCheckUtils]: 55: Hoare triple {3593#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {3546#false} is VALID [2022-04-28 04:10:35,641 INFO L290 TraceCheckUtils]: 56: Hoare triple {3546#false} assume !false; {3546#false} is VALID [2022-04-28 04:10:35,642 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 1 proven. 1 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:10:35,642 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:10:35,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [149026169] [2022-04-28 04:10:35,642 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [149026169] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:10:35,642 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2142061175] [2022-04-28 04:10:35,642 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:10:35,642 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:10:35,642 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:10:35,644 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-28 04:10:35,645 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-28 04:10:35,715 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:10:35,716 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:10:35,717 INFO L263 TraceCheckSpWp]: Trace formula consists of 259 conjuncts, 31 conjunts are in the unsatisfiable core [2022-04-28 04:10:35,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:35,734 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:10:35,811 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-04-28 04:10:35,962 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 14 treesize of output 14 [2022-04-28 04:10:35,975 INFO L356 Elim1Store]: treesize reduction 11, result has 45.0 percent of original size [2022-04-28 04:10:35,975 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 14 treesize of output 20 [2022-04-28 04:10:35,997 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 5 treesize of output 3 [2022-04-28 04:10:36,207 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 15 treesize of output 7 [2022-04-28 04:10:36,296 INFO L272 TraceCheckUtils]: 0: Hoare triple {3545#true} call ULTIMATE.init(); {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L290 TraceCheckUtils]: 1: Hoare triple {3545#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(10, 2);call #Ultimate.allocInit(12, 3); {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L290 TraceCheckUtils]: 2: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {3545#true} {3545#true} #122#return; {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L272 TraceCheckUtils]: 4: Hoare triple {3545#true} call #t~ret27 := main(); {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L290 TraceCheckUtils]: 5: Hoare triple {3545#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L272 TraceCheckUtils]: 6: Hoare triple {3545#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L290 TraceCheckUtils]: 7: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L290 TraceCheckUtils]: 8: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L290 TraceCheckUtils]: 9: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:36,297 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {3545#true} {3545#true} #98#return; {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L290 TraceCheckUtils]: 11: Hoare triple {3545#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L272 TraceCheckUtils]: 12: Hoare triple {3545#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L290 TraceCheckUtils]: 13: Hoare triple {3545#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L290 TraceCheckUtils]: 14: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {3545#true} {3545#true} #100#return; {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L290 TraceCheckUtils]: 16: Hoare triple {3545#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L272 TraceCheckUtils]: 17: Hoare triple {3545#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L290 TraceCheckUtils]: 18: Hoare triple {3545#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L272 TraceCheckUtils]: 19: Hoare triple {3545#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L290 TraceCheckUtils]: 20: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L290 TraceCheckUtils]: 21: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L290 TraceCheckUtils]: 22: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {3545#true} {3545#true} #116#return; {3545#true} is VALID [2022-04-28 04:10:36,298 INFO L272 TraceCheckUtils]: 24: Hoare triple {3545#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L290 TraceCheckUtils]: 25: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L290 TraceCheckUtils]: 26: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L290 TraceCheckUtils]: 27: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {3545#true} {3545#true} #118#return; {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L272 TraceCheckUtils]: 29: Hoare triple {3545#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L290 TraceCheckUtils]: 30: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L290 TraceCheckUtils]: 31: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L290 TraceCheckUtils]: 32: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {3545#true} {3545#true} #120#return; {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L290 TraceCheckUtils]: 34: Hoare triple {3545#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L290 TraceCheckUtils]: 35: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:36,299 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {3545#true} {3545#true} #102#return; {3545#true} is VALID [2022-04-28 04:10:36,300 INFO L290 TraceCheckUtils]: 37: Hoare triple {3545#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {3727#(and (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-28 04:10:36,300 INFO L272 TraceCheckUtils]: 38: Hoare triple {3727#(and (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {3545#true} is VALID [2022-04-28 04:10:36,300 INFO L290 TraceCheckUtils]: 39: Hoare triple {3545#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {3734#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base) (<= finddup_~n |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:10:36,301 INFO L290 TraceCheckUtils]: 40: Hoare triple {3734#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base) (<= finddup_~n |finddup_#in~n|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {3738#(and (= |finddup_#in~_j.base| finddup_~_j.base) (< finddup_~i~1 |finddup_#in~n|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:10:36,301 INFO L290 TraceCheckUtils]: 41: Hoare triple {3738#(and (= |finddup_#in~_j.base| finddup_~_j.base) (< finddup_~i~1 |finddup_#in~n|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {3738#(and (= |finddup_#in~_j.base| finddup_~_j.base) (< finddup_~i~1 |finddup_#in~n|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:10:36,302 INFO L290 TraceCheckUtils]: 42: Hoare triple {3738#(and (= |finddup_#in~_j.base| finddup_~_j.base) (< finddup_~i~1 |finddup_#in~n|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {3745#(or (< (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) |finddup_#in~n|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} is VALID [2022-04-28 04:10:36,302 INFO L290 TraceCheckUtils]: 43: Hoare triple {3745#(or (< (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) |finddup_#in~n|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} assume true; {3745#(or (< (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) |finddup_#in~n|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} is VALID [2022-04-28 04:10:36,303 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {3745#(or (< (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) |finddup_#in~n|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} {3727#(and (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} #104#return; {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:10:36,303 INFO L290 TraceCheckUtils]: 45: Hoare triple {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:10:36,303 INFO L272 TraceCheckUtils]: 46: Hoare triple {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} call __VERIFIER_assert(~r~0); {3545#true} is VALID [2022-04-28 04:10:36,304 INFO L290 TraceCheckUtils]: 47: Hoare triple {3545#true} ~cond := #in~cond; {3545#true} is VALID [2022-04-28 04:10:36,304 INFO L290 TraceCheckUtils]: 48: Hoare triple {3545#true} assume !(0 == ~cond); {3545#true} is VALID [2022-04-28 04:10:36,304 INFO L290 TraceCheckUtils]: 49: Hoare triple {3545#true} assume true; {3545#true} is VALID [2022-04-28 04:10:36,304 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {3545#true} {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} #106#return; {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:10:36,304 INFO L290 TraceCheckUtils]: 51: Hoare triple {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:10:36,305 INFO L290 TraceCheckUtils]: 52: Hoare triple {3752#(and (< (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|) main_~n~0) (= |main_~#i~2.offset| 0))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {3591#|main_#t~short17|} is VALID [2022-04-28 04:10:36,305 INFO L272 TraceCheckUtils]: 53: Hoare triple {3591#|main_#t~short17|} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {3780#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:10:36,305 INFO L290 TraceCheckUtils]: 54: Hoare triple {3780#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {3784#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:10:36,306 INFO L290 TraceCheckUtils]: 55: Hoare triple {3784#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {3546#false} is VALID [2022-04-28 04:10:36,306 INFO L290 TraceCheckUtils]: 56: Hoare triple {3546#false} assume !false; {3546#false} is VALID [2022-04-28 04:10:36,306 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:10:36,306 INFO L324 TraceCheckSpWp]: Omiting computation of backward sequence because forward sequence was already perfect [2022-04-28 04:10:36,306 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2142061175] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:36,306 INFO L184 FreeRefinementEngine]: Found 1 perfect and 1 imperfect interpolant sequences. [2022-04-28 04:10:36,306 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [17] total 24 [2022-04-28 04:10:36,306 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:10:36,307 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [837436011] [2022-04-28 04:10:36,307 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [837436011] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:36,307 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:36,307 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 04:10:36,307 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1712877003] [2022-04-28 04:10:36,307 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:10:36,307 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 3.5) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 57 [2022-04-28 04:10:36,307 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:10:36,308 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 3.5) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:36,333 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:36,333 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 04:10:36,333 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:36,335 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 04:10:36,335 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=53, Invalid=499, Unknown=0, NotChecked=0, Total=552 [2022-04-28 04:10:36,335 INFO L87 Difference]: Start difference. First operand 67 states and 79 transitions. Second operand has 10 states, 8 states have (on average 3.5) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:37,024 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:37,024 INFO L93 Difference]: Finished difference Result 85 states and 102 transitions. [2022-04-28 04:10:37,024 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:10:37,025 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 3.5) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) Word has length 57 [2022-04-28 04:10:37,025 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:10:37,025 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 3.5) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:37,026 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-28 04:10:37,026 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 3.5) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:37,028 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 93 transitions. [2022-04-28 04:10:37,028 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 93 transitions. [2022-04-28 04:10:37,094 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 93 edges. 93 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:37,095 INFO L225 Difference]: With dead ends: 85 [2022-04-28 04:10:37,095 INFO L226 Difference]: Without dead ends: 83 [2022-04-28 04:10:37,096 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 93 GetRequests, 66 SyntacticMatches, 0 SemanticMatches, 27 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 84 ImplicationChecksByTransitivity, 0.3s TimeCoverageRelationStatistics Valid=81, Invalid=731, Unknown=0, NotChecked=0, Total=812 [2022-04-28 04:10:37,096 INFO L413 NwaCegarLoop]: 57 mSDtfsCounter, 45 mSDsluCounter, 376 mSDsCounter, 0 mSdLazyCounter, 174 mSolverCounterSat, 13 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 51 SdHoareTripleChecker+Valid, 433 SdHoareTripleChecker+Invalid, 187 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 13 IncrementalHoareTripleChecker+Valid, 174 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:10:37,096 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [51 Valid, 433 Invalid, 187 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [13 Valid, 174 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:10:37,097 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 83 states. [2022-04-28 04:10:37,187 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 83 to 74. [2022-04-28 04:10:37,187 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:10:37,188 INFO L82 GeneralOperation]: Start isEquivalent. First operand 83 states. Second operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 04:10:37,188 INFO L74 IsIncluded]: Start isIncluded. First operand 83 states. Second operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 04:10:37,188 INFO L87 Difference]: Start difference. First operand 83 states. Second operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 04:10:37,190 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:37,190 INFO L93 Difference]: Finished difference Result 83 states and 100 transitions. [2022-04-28 04:10:37,190 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 100 transitions. [2022-04-28 04:10:37,191 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:37,191 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:37,191 INFO L74 IsIncluded]: Start isIncluded. First operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) Second operand 83 states. [2022-04-28 04:10:37,191 INFO L87 Difference]: Start difference. First operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) Second operand 83 states. [2022-04-28 04:10:37,193 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:37,193 INFO L93 Difference]: Finished difference Result 83 states and 100 transitions. [2022-04-28 04:10:37,193 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 100 transitions. [2022-04-28 04:10:37,193 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:37,194 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:37,194 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:10:37,194 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:10:37,194 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 74 states, 48 states have (on average 1.1666666666666667) internal successors, (56), 50 states have internal predecessors, (56), 16 states have call successors, (16), 9 states have call predecessors, (16), 9 states have return successors, (15), 14 states have call predecessors, (15), 14 states have call successors, (15) [2022-04-28 04:10:37,195 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 74 states to 74 states and 87 transitions. [2022-04-28 04:10:37,195 INFO L78 Accepts]: Start accepts. Automaton has 74 states and 87 transitions. Word has length 57 [2022-04-28 04:10:37,196 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:10:37,196 INFO L495 AbstractCegarLoop]: Abstraction has 74 states and 87 transitions. [2022-04-28 04:10:37,196 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 3.5) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 2 states have call predecessors, (11), 2 states have return successors, (9), 2 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:37,196 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 74 states and 87 transitions. [2022-04-28 04:10:37,277 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 87 edges. 87 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:37,277 INFO L276 IsEmpty]: Start isEmpty. Operand 74 states and 87 transitions. [2022-04-28 04:10:37,278 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 58 [2022-04-28 04:10:37,278 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:10:37,278 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:10:37,294 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (5)] Ended with exit code 0 [2022-04-28 04:10:37,487 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable5,5 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:10:37,487 INFO L420 AbstractCegarLoop]: === Iteration 7 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:10:37,488 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:10:37,488 INFO L85 PathProgramCache]: Analyzing trace with hash 631083929, now seen corresponding path program 1 times [2022-04-28 04:10:37,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:37,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [764659124] [2022-04-28 04:10:37,488 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:10:37,488 INFO L85 PathProgramCache]: Analyzing trace with hash 631083929, now seen corresponding path program 2 times [2022-04-28 04:10:37,488 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:10:37,488 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1601409039] [2022-04-28 04:10:37,488 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:10:37,489 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:10:37,513 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,553 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:10:37,555 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,561 INFO L290 TraceCheckUtils]: 0: Hoare triple {4330#(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(10, 2);call #Ultimate.allocInit(12, 3); {4284#true} is VALID [2022-04-28 04:10:37,562 INFO L290 TraceCheckUtils]: 1: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,562 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4284#true} {4284#true} #122#return; {4284#true} is VALID [2022-04-28 04:10:37,562 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:37,562 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,564 INFO L290 TraceCheckUtils]: 0: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,564 INFO L290 TraceCheckUtils]: 1: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,564 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4284#true} {4284#true} #98#return; {4284#true} is VALID [2022-04-28 04:10:37,568 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:10:37,569 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,570 INFO L290 TraceCheckUtils]: 0: Hoare triple {4331#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4284#true} is VALID [2022-04-28 04:10:37,570 INFO L290 TraceCheckUtils]: 1: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,571 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4284#true} {4284#true} #100#return; {4284#true} is VALID [2022-04-28 04:10:37,571 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:10:37,574 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,577 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:10:37,578 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,579 INFO L290 TraceCheckUtils]: 0: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,580 INFO L290 TraceCheckUtils]: 1: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,580 INFO L290 TraceCheckUtils]: 2: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,580 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4284#true} {4284#true} #116#return; {4284#true} is VALID [2022-04-28 04:10:37,580 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:37,580 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,581 INFO L290 TraceCheckUtils]: 0: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,582 INFO L290 TraceCheckUtils]: 1: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,582 INFO L290 TraceCheckUtils]: 2: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,582 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4284#true} {4284#true} #118#return; {4284#true} is VALID [2022-04-28 04:10:37,582 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:10:37,582 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,583 INFO L290 TraceCheckUtils]: 0: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,583 INFO L290 TraceCheckUtils]: 1: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,583 INFO L290 TraceCheckUtils]: 2: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4284#true} {4284#true} #120#return; {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L290 TraceCheckUtils]: 0: Hoare triple {4331#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L272 TraceCheckUtils]: 1: Hoare triple {4284#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L290 TraceCheckUtils]: 2: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L290 TraceCheckUtils]: 3: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L290 TraceCheckUtils]: 4: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4284#true} {4284#true} #116#return; {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L272 TraceCheckUtils]: 6: Hoare triple {4284#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L290 TraceCheckUtils]: 7: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L290 TraceCheckUtils]: 8: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L290 TraceCheckUtils]: 9: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,584 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4284#true} {4284#true} #118#return; {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L272 TraceCheckUtils]: 11: Hoare triple {4284#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L290 TraceCheckUtils]: 12: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L290 TraceCheckUtils]: 13: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L290 TraceCheckUtils]: 14: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4284#true} {4284#true} #120#return; {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L290 TraceCheckUtils]: 16: Hoare triple {4284#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L290 TraceCheckUtils]: 17: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4284#true} {4284#true} #102#return; {4284#true} is VALID [2022-04-28 04:10:37,585 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:10:37,588 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,620 INFO L290 TraceCheckUtils]: 0: Hoare triple {4331#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:37,621 INFO L290 TraceCheckUtils]: 1: Hoare triple {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:37,621 INFO L290 TraceCheckUtils]: 2: Hoare triple {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:37,622 INFO L290 TraceCheckUtils]: 3: Hoare triple {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {4345#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} is VALID [2022-04-28 04:10:37,622 INFO L290 TraceCheckUtils]: 4: Hoare triple {4345#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} assume true; {4345#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} is VALID [2022-04-28 04:10:37,623 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4345#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} {4315#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {4322#(or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} is VALID [2022-04-28 04:10:37,623 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 04:10:37,624 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:37,639 INFO L290 TraceCheckUtils]: 0: Hoare triple {4284#true} ~cond := #in~cond; {4346#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:10:37,640 INFO L290 TraceCheckUtils]: 1: Hoare triple {4346#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4347#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:37,640 INFO L290 TraceCheckUtils]: 2: Hoare triple {4347#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4347#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:37,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4347#(not (= |__VERIFIER_assert_#in~cond| 0))} {4323#(or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #106#return; {4328#(= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} is VALID [2022-04-28 04:10:37,641 INFO L272 TraceCheckUtils]: 0: Hoare triple {4284#true} call ULTIMATE.init(); {4330#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:10:37,641 INFO L290 TraceCheckUtils]: 1: Hoare triple {4330#(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(10, 2);call #Ultimate.allocInit(12, 3); {4284#true} is VALID [2022-04-28 04:10:37,641 INFO L290 TraceCheckUtils]: 2: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,641 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4284#true} {4284#true} #122#return; {4284#true} is VALID [2022-04-28 04:10:37,641 INFO L272 TraceCheckUtils]: 4: Hoare triple {4284#true} call #t~ret27 := main(); {4284#true} is VALID [2022-04-28 04:10:37,642 INFO L290 TraceCheckUtils]: 5: Hoare triple {4284#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {4284#true} is VALID [2022-04-28 04:10:37,642 INFO L272 TraceCheckUtils]: 6: Hoare triple {4284#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {4284#true} is VALID [2022-04-28 04:10:37,642 INFO L290 TraceCheckUtils]: 7: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,642 INFO L290 TraceCheckUtils]: 8: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,642 INFO L290 TraceCheckUtils]: 9: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,642 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4284#true} {4284#true} #98#return; {4284#true} is VALID [2022-04-28 04:10:37,642 INFO L290 TraceCheckUtils]: 11: Hoare triple {4284#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {4284#true} is VALID [2022-04-28 04:10:37,643 INFO L272 TraceCheckUtils]: 12: Hoare triple {4284#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {4331#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:37,643 INFO L290 TraceCheckUtils]: 13: Hoare triple {4331#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4284#true} is VALID [2022-04-28 04:10:37,643 INFO L290 TraceCheckUtils]: 14: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,643 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4284#true} {4284#true} #100#return; {4284#true} is VALID [2022-04-28 04:10:37,643 INFO L290 TraceCheckUtils]: 16: Hoare triple {4284#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {4284#true} is VALID [2022-04-28 04:10:37,643 INFO L272 TraceCheckUtils]: 17: Hoare triple {4284#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {4331#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:37,643 INFO L290 TraceCheckUtils]: 18: Hoare triple {4331#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L272 TraceCheckUtils]: 19: Hoare triple {4284#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 20: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 21: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 22: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4284#true} {4284#true} #116#return; {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L272 TraceCheckUtils]: 24: Hoare triple {4284#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 25: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 26: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 27: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4284#true} {4284#true} #118#return; {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L272 TraceCheckUtils]: 29: Hoare triple {4284#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 30: Hoare triple {4284#true} ~cond := #in~cond; {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 31: Hoare triple {4284#true} assume !(0 == ~cond); {4284#true} is VALID [2022-04-28 04:10:37,644 INFO L290 TraceCheckUtils]: 32: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,645 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4284#true} {4284#true} #120#return; {4284#true} is VALID [2022-04-28 04:10:37,645 INFO L290 TraceCheckUtils]: 34: Hoare triple {4284#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {4284#true} is VALID [2022-04-28 04:10:37,645 INFO L290 TraceCheckUtils]: 35: Hoare triple {4284#true} assume true; {4284#true} is VALID [2022-04-28 04:10:37,645 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4284#true} {4284#true} #102#return; {4284#true} is VALID [2022-04-28 04:10:37,647 INFO L290 TraceCheckUtils]: 37: Hoare triple {4284#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {4315#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-28 04:10:37,648 INFO L272 TraceCheckUtils]: 38: Hoare triple {4315#(not (= |main_~#i~2.base| |main_~#j~2.base|))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {4331#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:37,648 INFO L290 TraceCheckUtils]: 39: Hoare triple {4331#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:37,649 INFO L290 TraceCheckUtils]: 40: Hoare triple {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:37,649 INFO L290 TraceCheckUtils]: 41: Hoare triple {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:10:37,650 INFO L290 TraceCheckUtils]: 42: Hoare triple {4344#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (= finddup_~i~1 0) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {4345#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} is VALID [2022-04-28 04:10:37,650 INFO L290 TraceCheckUtils]: 43: Hoare triple {4345#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} assume true; {4345#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} is VALID [2022-04-28 04:10:37,651 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {4345#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))} {4315#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {4322#(or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} is VALID [2022-04-28 04:10:37,652 INFO L290 TraceCheckUtils]: 45: Hoare triple {4322#(or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {4323#(or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:10:37,652 INFO L272 TraceCheckUtils]: 46: Hoare triple {4323#(or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert(~r~0); {4284#true} is VALID [2022-04-28 04:10:37,652 INFO L290 TraceCheckUtils]: 47: Hoare triple {4284#true} ~cond := #in~cond; {4346#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:10:37,652 INFO L290 TraceCheckUtils]: 48: Hoare triple {4346#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {4347#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:37,653 INFO L290 TraceCheckUtils]: 49: Hoare triple {4347#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {4347#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:10:37,653 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {4347#(not (= |__VERIFIER_assert_#in~cond| 0))} {4323#(or (= main_~r~0 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #106#return; {4328#(= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} is VALID [2022-04-28 04:10:37,653 INFO L290 TraceCheckUtils]: 51: Hoare triple {4328#(= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {4329#|main_#t~short17|} is VALID [2022-04-28 04:10:37,654 INFO L290 TraceCheckUtils]: 52: Hoare triple {4329#|main_#t~short17|} assume !#t~short17; {4285#false} is VALID [2022-04-28 04:10:37,654 INFO L272 TraceCheckUtils]: 53: Hoare triple {4285#false} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {4285#false} is VALID [2022-04-28 04:10:37,654 INFO L290 TraceCheckUtils]: 54: Hoare triple {4285#false} ~cond := #in~cond; {4285#false} is VALID [2022-04-28 04:10:37,654 INFO L290 TraceCheckUtils]: 55: Hoare triple {4285#false} assume 0 == ~cond; {4285#false} is VALID [2022-04-28 04:10:37,654 INFO L290 TraceCheckUtils]: 56: Hoare triple {4285#false} assume !false; {4285#false} is VALID [2022-04-28 04:10:37,654 INFO L134 CoverageAnalysis]: Checked inductivity of 26 backedges. 2 proven. 0 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:10:37,654 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:10:37,654 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1601409039] [2022-04-28 04:10:37,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1601409039] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:37,655 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:37,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:10:37,655 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:10:37,655 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [764659124] [2022-04-28 04:10:37,655 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [764659124] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:37,655 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:37,655 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [13] imperfect sequences [] total 13 [2022-04-28 04:10:37,655 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [855783798] [2022-04-28 04:10:37,655 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:10:37,656 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 57 [2022-04-28 04:10:37,656 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:10:37,656 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:37,685 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 48 edges. 48 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:37,685 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 13 states [2022-04-28 04:10:37,685 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:37,686 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 13 interpolants. [2022-04-28 04:10:37,686 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=25, Invalid=131, Unknown=0, NotChecked=0, Total=156 [2022-04-28 04:10:37,686 INFO L87 Difference]: Start difference. First operand 74 states and 87 transitions. Second operand has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:39,053 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:39,053 INFO L93 Difference]: Finished difference Result 106 states and 130 transitions. [2022-04-28 04:10:39,053 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:10:39,053 INFO L78 Accepts]: Start accepts. Automaton has has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 57 [2022-04-28 04:10:39,054 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:10:39,054 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:39,055 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2022-04-28 04:10:39,055 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:39,057 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 111 transitions. [2022-04-28 04:10:39,057 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 111 transitions. [2022-04-28 04:10:39,145 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:39,146 INFO L225 Difference]: With dead ends: 106 [2022-04-28 04:10:39,146 INFO L226 Difference]: Without dead ends: 92 [2022-04-28 04:10:39,146 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 37 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 20 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 42 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=83, Invalid=379, Unknown=0, NotChecked=0, Total=462 [2022-04-28 04:10:39,147 INFO L413 NwaCegarLoop]: 40 mSDtfsCounter, 100 mSDsluCounter, 18 mSDsCounter, 0 mSdLazyCounter, 643 mSolverCounterSat, 87 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 101 SdHoareTripleChecker+Valid, 58 SdHoareTripleChecker+Invalid, 730 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 87 IncrementalHoareTripleChecker+Valid, 643 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.6s IncrementalHoareTripleChecker+Time [2022-04-28 04:10:39,147 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [101 Valid, 58 Invalid, 730 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [87 Valid, 643 Invalid, 0 Unknown, 0 Unchecked, 0.6s Time] [2022-04-28 04:10:39,147 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 92 states. [2022-04-28 04:10:39,254 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 92 to 83. [2022-04-28 04:10:39,254 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:10:39,254 INFO L82 GeneralOperation]: Start isEquivalent. First operand 92 states. Second operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:10:39,255 INFO L74 IsIncluded]: Start isIncluded. First operand 92 states. Second operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:10:39,255 INFO L87 Difference]: Start difference. First operand 92 states. Second operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:10:39,257 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:39,257 INFO L93 Difference]: Finished difference Result 92 states and 112 transitions. [2022-04-28 04:10:39,257 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 112 transitions. [2022-04-28 04:10:39,257 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:39,258 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:39,258 INFO L74 IsIncluded]: Start isIncluded. First operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 92 states. [2022-04-28 04:10:39,258 INFO L87 Difference]: Start difference. First operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 92 states. [2022-04-28 04:10:39,263 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:10:39,263 INFO L93 Difference]: Finished difference Result 92 states and 112 transitions. [2022-04-28 04:10:39,263 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 112 transitions. [2022-04-28 04:10:39,263 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:10:39,263 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:10:39,263 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:10:39,263 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:10:39,264 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 83 states, 55 states have (on average 1.1818181818181819) internal successors, (65), 57 states have internal predecessors, (65), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:10:39,265 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 83 states to 83 states and 99 transitions. [2022-04-28 04:10:39,265 INFO L78 Accepts]: Start accepts. Automaton has 83 states and 99 transitions. Word has length 57 [2022-04-28 04:10:39,266 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:10:39,266 INFO L495 AbstractCegarLoop]: Abstraction has 83 states and 99 transitions. [2022-04-28 04:10:39,266 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 13 states, 11 states have (on average 2.5454545454545454) internal successors, (28), 9 states have internal predecessors, (28), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:10:39,266 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 83 states and 99 transitions. [2022-04-28 04:10:39,364 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 99 edges. 99 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:10:39,364 INFO L276 IsEmpty]: Start isEmpty. Operand 83 states and 99 transitions. [2022-04-28 04:10:39,365 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 59 [2022-04-28 04:10:39,365 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:10:39,365 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:10:39,365 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable6 [2022-04-28 04:10:39,365 INFO L420 AbstractCegarLoop]: === Iteration 8 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:10:39,365 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:10:39,365 INFO L85 PathProgramCache]: Analyzing trace with hash -1636680555, now seen corresponding path program 3 times [2022-04-28 04:10:39,365 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:39,365 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1830183419] [2022-04-28 04:10:39,366 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:10:39,366 INFO L85 PathProgramCache]: Analyzing trace with hash -1636680555, now seen corresponding path program 4 times [2022-04-28 04:10:39,366 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:10:39,366 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [680463017] [2022-04-28 04:10:39,366 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:10:39,366 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:10:39,398 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:39,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:10:39,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:39,466 INFO L290 TraceCheckUtils]: 0: Hoare triple {4979#(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(10, 2);call #Ultimate.allocInit(12, 3); {4931#true} is VALID [2022-04-28 04:10:39,466 INFO L290 TraceCheckUtils]: 1: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:39,467 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4931#true} {4931#true} #122#return; {4931#true} is VALID [2022-04-28 04:10:39,467 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:39,467 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:39,468 INFO L290 TraceCheckUtils]: 0: Hoare triple {4931#true} ~cond := #in~cond; {4931#true} is VALID [2022-04-28 04:10:39,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {4931#true} assume !(0 == ~cond); {4931#true} is VALID [2022-04-28 04:10:39,469 INFO L290 TraceCheckUtils]: 2: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:39,469 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4931#true} {4931#true} #98#return; {4931#true} is VALID [2022-04-28 04:10:39,472 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:10:39,473 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:39,474 INFO L290 TraceCheckUtils]: 0: Hoare triple {4980#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4931#true} is VALID [2022-04-28 04:10:39,474 INFO L290 TraceCheckUtils]: 1: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:39,475 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {4931#true} {4940#(= |main_#t~malloc13.offset| 0)} #100#return; {4940#(= |main_#t~malloc13.offset| 0)} is VALID [2022-04-28 04:10:39,475 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:10:39,497 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:39,937 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:10:39,939 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:39,966 INFO L290 TraceCheckUtils]: 0: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:39,966 INFO L290 TraceCheckUtils]: 1: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,967 INFO L290 TraceCheckUtils]: 2: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,968 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4981#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} #116#return; {4986#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-28 04:10:39,968 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:10:39,970 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:39,976 INFO L290 TraceCheckUtils]: 0: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:39,977 INFO L290 TraceCheckUtils]: 1: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,977 INFO L290 TraceCheckUtils]: 2: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,978 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4986#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} #118#return; {4991#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-28 04:10:39,978 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:10:39,980 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:39,987 INFO L290 TraceCheckUtils]: 0: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:39,988 INFO L290 TraceCheckUtils]: 1: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,988 INFO L290 TraceCheckUtils]: 2: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,989 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4991#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} #120#return; {4996#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:39,990 INFO L290 TraceCheckUtils]: 0: Hoare triple {4980#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {4981#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} is VALID [2022-04-28 04:10:39,990 INFO L272 TraceCheckUtils]: 1: Hoare triple {4981#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:39,990 INFO L290 TraceCheckUtils]: 2: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:39,990 INFO L290 TraceCheckUtils]: 3: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,991 INFO L290 TraceCheckUtils]: 4: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,991 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4981#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} #116#return; {4986#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-28 04:10:39,991 INFO L272 TraceCheckUtils]: 6: Hoare triple {4986#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:39,992 INFO L290 TraceCheckUtils]: 7: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:39,992 INFO L290 TraceCheckUtils]: 8: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,992 INFO L290 TraceCheckUtils]: 9: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,993 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4986#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} #118#return; {4991#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-28 04:10:39,993 INFO L272 TraceCheckUtils]: 11: Hoare triple {4991#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:39,993 INFO L290 TraceCheckUtils]: 12: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:39,994 INFO L290 TraceCheckUtils]: 13: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,994 INFO L290 TraceCheckUtils]: 14: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:39,995 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4991#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} #120#return; {4996#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:39,996 INFO L290 TraceCheckUtils]: 16: Hoare triple {4996#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {4997#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:39,996 INFO L290 TraceCheckUtils]: 17: Hoare triple {4997#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} assume true; {4997#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:39,997 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {4997#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} {4944#(= main_~a~0.offset 0)} #102#return; {4964#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} is VALID [2022-04-28 04:10:39,997 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:10:40,002 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:40,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {4980#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {5000#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (= finddup_~a.offset |finddup_#in~a.offset|) (<= 0 finddup_~i~1) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:10:40,176 INFO L290 TraceCheckUtils]: 1: Hoare triple {5000#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (= finddup_~a.offset |finddup_#in~a.offset|) (<= 0 finddup_~i~1) (= |finddup_#in~a.base| finddup_~a.base))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5001#(and (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~i~1 4))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (<= 1 finddup_~j~1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:40,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {5001#(and (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~i~1 4))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (<= 1 finddup_~j~1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 1))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5002#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem11|) (= |finddup_#in~n| finddup_~n) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:40,177 INFO L290 TraceCheckUtils]: 3: Hoare triple {5002#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem11|) (= |finddup_#in~n| finddup_~n) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (<= finddup_~j~1 1))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5003#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:40,178 INFO L290 TraceCheckUtils]: 4: Hoare triple {5003#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~j~1 1))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5004#(and (<= finddup_~j~1 2) (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:10:40,178 INFO L290 TraceCheckUtils]: 5: Hoare triple {5004#(and (<= finddup_~j~1 2) (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} assume !(~j~1 < ~n); {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,179 INFO L290 TraceCheckUtils]: 6: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,179 INFO L290 TraceCheckUtils]: 7: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,180 INFO L290 TraceCheckUtils]: 8: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} assume !(~j~1 < ~n); {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,180 INFO L290 TraceCheckUtils]: 9: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,181 INFO L290 TraceCheckUtils]: 10: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} assume !(~i~1 < ~n); {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-28 04:10:40,181 INFO L290 TraceCheckUtils]: 11: Hoare triple {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} #res := 0; {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-28 04:10:40,181 INFO L290 TraceCheckUtils]: 12: Hoare triple {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} assume true; {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-28 04:10:40,183 INFO L284 TraceCheckUtils]: 13: Hoare quadruple {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} {4964#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} #104#return; {4932#false} is VALID [2022-04-28 04:10:40,184 INFO L272 TraceCheckUtils]: 0: Hoare triple {4931#true} call ULTIMATE.init(); {4979#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:10:40,184 INFO L290 TraceCheckUtils]: 1: Hoare triple {4979#(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(10, 2);call #Ultimate.allocInit(12, 3); {4931#true} is VALID [2022-04-28 04:10:40,184 INFO L290 TraceCheckUtils]: 2: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:40,184 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4931#true} {4931#true} #122#return; {4931#true} is VALID [2022-04-28 04:10:40,184 INFO L272 TraceCheckUtils]: 4: Hoare triple {4931#true} call #t~ret27 := main(); {4931#true} is VALID [2022-04-28 04:10:40,184 INFO L290 TraceCheckUtils]: 5: Hoare triple {4931#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {4931#true} is VALID [2022-04-28 04:10:40,184 INFO L272 TraceCheckUtils]: 6: Hoare triple {4931#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:40,184 INFO L290 TraceCheckUtils]: 7: Hoare triple {4931#true} ~cond := #in~cond; {4931#true} is VALID [2022-04-28 04:10:40,184 INFO L290 TraceCheckUtils]: 8: Hoare triple {4931#true} assume !(0 == ~cond); {4931#true} is VALID [2022-04-28 04:10:40,184 INFO L290 TraceCheckUtils]: 9: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:40,185 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4931#true} {4931#true} #98#return; {4931#true} is VALID [2022-04-28 04:10:40,185 INFO L290 TraceCheckUtils]: 11: Hoare triple {4931#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {4940#(= |main_#t~malloc13.offset| 0)} is VALID [2022-04-28 04:10:40,186 INFO L272 TraceCheckUtils]: 12: Hoare triple {4940#(= |main_#t~malloc13.offset| 0)} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {4980#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:40,186 INFO L290 TraceCheckUtils]: 13: Hoare triple {4980#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4931#true} is VALID [2022-04-28 04:10:40,186 INFO L290 TraceCheckUtils]: 14: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:40,187 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4931#true} {4940#(= |main_#t~malloc13.offset| 0)} #100#return; {4940#(= |main_#t~malloc13.offset| 0)} is VALID [2022-04-28 04:10:40,187 INFO L290 TraceCheckUtils]: 16: Hoare triple {4940#(= |main_#t~malloc13.offset| 0)} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {4944#(= main_~a~0.offset 0)} is VALID [2022-04-28 04:10:40,188 INFO L272 TraceCheckUtils]: 17: Hoare triple {4944#(= main_~a~0.offset 0)} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {4980#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:40,188 INFO L290 TraceCheckUtils]: 18: Hoare triple {4980#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {4981#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} is VALID [2022-04-28 04:10:40,188 INFO L272 TraceCheckUtils]: 19: Hoare triple {4981#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:40,189 INFO L290 TraceCheckUtils]: 20: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:40,189 INFO L290 TraceCheckUtils]: 21: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:40,189 INFO L290 TraceCheckUtils]: 22: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:40,190 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4981#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset))} #116#return; {4986#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-28 04:10:40,190 INFO L272 TraceCheckUtils]: 24: Hoare triple {4986#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:40,191 INFO L290 TraceCheckUtils]: 25: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:40,191 INFO L290 TraceCheckUtils]: 26: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:40,191 INFO L290 TraceCheckUtils]: 27: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:40,193 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4986#(and (or (not (= mkdup_~a.offset 0)) (= mkdup_~a.base |mkdup_#in~a.base|) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (= |mkdup_#in~n| mkdup_~n) (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} #118#return; {4991#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-28 04:10:40,193 INFO L272 TraceCheckUtils]: 29: Hoare triple {4991#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:40,193 INFO L290 TraceCheckUtils]: 30: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:40,193 INFO L290 TraceCheckUtils]: 31: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:40,194 INFO L290 TraceCheckUtils]: 32: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:40,195 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {4991#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (and (<= (+ mkdup_~j~0 1) (+ mkdup_~i~0 |mkdup_#in~n|)) (< mkdup_~i~0 (+ mkdup_~j~0 1))) (<= 2 |mkdup_#in~n|)) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (< 0 mkdup_~j~0) (= (* mkdup_~j~0 4) 0)) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|)) (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} #120#return; {4996#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:40,196 INFO L290 TraceCheckUtils]: 34: Hoare triple {4996#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (or (not (= mkdup_~a.offset 0)) (and (or (= (* mkdup_~i~0 4) 0) (<= 1 mkdup_~i~0)) (= mkdup_~a.base |mkdup_#in~a.base|) (<= (+ mkdup_~i~0 1) |mkdup_#in~n|) (or (= mkdup_~a.offset (+ (* mkdup_~j~0 4) mkdup_~a.offset)) (< 0 mkdup_~j~0)) (not (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset))) (<= (+ mkdup_~j~0 1) |mkdup_#in~n|))) (<= 2 |mkdup_#in~n|))} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {4997#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:40,197 INFO L290 TraceCheckUtils]: 35: Hoare triple {4997#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} assume true; {4997#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:40,198 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {4997#(and (or (not (= |mkdup_#in~a.offset| 0)) (< 8 (* |mkdup_#in~n| 4)) (= (select (select |#memory_int| |mkdup_#in~a.base|) |mkdup_#in~a.offset|) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| 4)))) (<= 2 |mkdup_#in~n|))} {4944#(= main_~a~0.offset 0)} #102#return; {4964#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} is VALID [2022-04-28 04:10:40,198 INFO L290 TraceCheckUtils]: 37: Hoare triple {4964#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {4964#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} is VALID [2022-04-28 04:10:40,199 INFO L272 TraceCheckUtils]: 38: Hoare triple {4964#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {4980#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:40,200 INFO L290 TraceCheckUtils]: 39: Hoare triple {4980#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {5000#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (= finddup_~a.offset |finddup_#in~a.offset|) (<= 0 finddup_~i~1) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:10:40,201 INFO L290 TraceCheckUtils]: 40: Hoare triple {5000#(and (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (= finddup_~a.offset |finddup_#in~a.offset|) (<= 0 finddup_~i~1) (= |finddup_#in~a.base| finddup_~a.base))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5001#(and (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~i~1 4))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (<= 1 finddup_~j~1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:40,201 INFO L290 TraceCheckUtils]: 41: Hoare triple {5001#(and (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~i~1 4))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~n| finddup_~n) (<= 1 finddup_~j~1) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 1))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5002#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem11|) (= |finddup_#in~n| finddup_~n) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:40,202 INFO L290 TraceCheckUtils]: 42: Hoare triple {5002#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem11|) (= |finddup_#in~n| finddup_~n) (= |finddup_#t~mem10| (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (<= finddup_~j~1 1))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5003#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:40,202 INFO L290 TraceCheckUtils]: 43: Hoare triple {5003#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~j~1 1))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5004#(and (<= finddup_~j~1 2) (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:10:40,203 INFO L290 TraceCheckUtils]: 44: Hoare triple {5004#(and (<= finddup_~j~1 2) (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} assume !(~j~1 < ~n); {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,203 INFO L290 TraceCheckUtils]: 45: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,203 INFO L290 TraceCheckUtils]: 46: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,204 INFO L290 TraceCheckUtils]: 47: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} assume !(~j~1 < ~n); {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,204 INFO L290 TraceCheckUtils]: 48: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} is VALID [2022-04-28 04:10:40,205 INFO L290 TraceCheckUtils]: 49: Hoare triple {5005#(and (= |finddup_#in~n| finddup_~n) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= finddup_~n 2))} assume !(~i~1 < ~n); {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-28 04:10:40,205 INFO L290 TraceCheckUtils]: 50: Hoare triple {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} #res := 0; {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-28 04:10:40,205 INFO L290 TraceCheckUtils]: 51: Hoare triple {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} assume true; {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} is VALID [2022-04-28 04:10:40,207 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {5006#(and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (<= |finddup_#in~n| 2))} {4964#(and (= main_~a~0.offset 0) (or (= (select (select |#memory_int| main_~a~0.base) (+ (* main_~n~0 4) (- 4))) (select (select |#memory_int| main_~a~0.base) (* (div (+ (* main_~n~0 4) (- 8)) 4) 4))) (< 8 (* main_~n~0 4))) (<= 8 (* main_~n~0 4)))} #104#return; {4932#false} is VALID [2022-04-28 04:10:40,207 INFO L290 TraceCheckUtils]: 53: Hoare triple {4932#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {4932#false} is VALID [2022-04-28 04:10:40,207 INFO L272 TraceCheckUtils]: 54: Hoare triple {4932#false} call __VERIFIER_assert(~r~0); {4932#false} is VALID [2022-04-28 04:10:40,207 INFO L290 TraceCheckUtils]: 55: Hoare triple {4932#false} ~cond := #in~cond; {4932#false} is VALID [2022-04-28 04:10:40,207 INFO L290 TraceCheckUtils]: 56: Hoare triple {4932#false} assume 0 == ~cond; {4932#false} is VALID [2022-04-28 04:10:40,207 INFO L290 TraceCheckUtils]: 57: Hoare triple {4932#false} assume !false; {4932#false} is VALID [2022-04-28 04:10:40,208 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 9 proven. 5 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 04:10:40,208 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:10:40,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [680463017] [2022-04-28 04:10:40,208 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [680463017] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:10:40,208 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1638166331] [2022-04-28 04:10:40,208 INFO L93 rtionOrderModulation]: Changing assertion order to TERMS_WITH_SMALL_CONSTANTS_FIRST [2022-04-28 04:10:40,208 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:10:40,208 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:10:40,209 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-28 04:10:40,210 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-28 04:10:40,276 INFO L228 tOrderPrioritization]: Assert order TERMS_WITH_SMALL_CONSTANTS_FIRST issued 0 check-sat command(s) [2022-04-28 04:10:40,277 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:10:40,278 INFO L263 TraceCheckSpWp]: Trace formula consists of 244 conjuncts, 53 conjunts are in the unsatisfiable core [2022-04-28 04:10:40,290 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:10:40,291 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:10:40,687 INFO L356 Elim1Store]: treesize reduction 37, result has 22.9 percent of original size [2022-04-28 04:10:40,687 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 22 treesize of output 23 [2022-04-28 04:10:50,959 INFO L272 TraceCheckUtils]: 0: Hoare triple {4931#true} call ULTIMATE.init(); {4931#true} is VALID [2022-04-28 04:10:50,959 INFO L290 TraceCheckUtils]: 1: Hoare triple {4931#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(10, 2);call #Ultimate.allocInit(12, 3); {4931#true} is VALID [2022-04-28 04:10:50,959 INFO L290 TraceCheckUtils]: 2: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:50,959 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {4931#true} {4931#true} #122#return; {4931#true} is VALID [2022-04-28 04:10:50,959 INFO L272 TraceCheckUtils]: 4: Hoare triple {4931#true} call #t~ret27 := main(); {4931#true} is VALID [2022-04-28 04:10:50,959 INFO L290 TraceCheckUtils]: 5: Hoare triple {4931#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L272 TraceCheckUtils]: 6: Hoare triple {4931#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L290 TraceCheckUtils]: 7: Hoare triple {4931#true} ~cond := #in~cond; {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L290 TraceCheckUtils]: 8: Hoare triple {4931#true} assume !(0 == ~cond); {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L290 TraceCheckUtils]: 9: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {4931#true} {4931#true} #98#return; {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L290 TraceCheckUtils]: 11: Hoare triple {4931#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L272 TraceCheckUtils]: 12: Hoare triple {4931#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L290 TraceCheckUtils]: 13: Hoare triple {4931#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L290 TraceCheckUtils]: 14: Hoare triple {4931#true} assume true; {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {4931#true} {4931#true} #100#return; {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L290 TraceCheckUtils]: 16: Hoare triple {4931#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {4931#true} is VALID [2022-04-28 04:10:50,960 INFO L272 TraceCheckUtils]: 17: Hoare triple {4931#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {4931#true} is VALID [2022-04-28 04:10:50,961 INFO L290 TraceCheckUtils]: 18: Hoare triple {4931#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {5064#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-28 04:10:50,961 INFO L272 TraceCheckUtils]: 19: Hoare triple {5064#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:50,961 INFO L290 TraceCheckUtils]: 20: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:50,961 INFO L290 TraceCheckUtils]: 21: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:50,962 INFO L290 TraceCheckUtils]: 22: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:50,962 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {5064#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} #116#return; {5080#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} is VALID [2022-04-28 04:10:50,963 INFO L272 TraceCheckUtils]: 24: Hoare triple {5080#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:50,963 INFO L290 TraceCheckUtils]: 25: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:50,963 INFO L290 TraceCheckUtils]: 26: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:50,963 INFO L290 TraceCheckUtils]: 27: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:50,964 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {5080#(and (<= mkdup_~n |mkdup_#in~n|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 mkdup_~n))} #118#return; {5096#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:50,964 INFO L272 TraceCheckUtils]: 29: Hoare triple {5096#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {4931#true} is VALID [2022-04-28 04:10:50,965 INFO L290 TraceCheckUtils]: 30: Hoare triple {4931#true} ~cond := #in~cond; {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:10:50,965 INFO L290 TraceCheckUtils]: 31: Hoare triple {4998#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:50,965 INFO L290 TraceCheckUtils]: 32: Hoare triple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {4999#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:10:50,966 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {4999#(not (= |assume_abort_if_not_#in~cond| 0))} {5096#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} #120#return; {5112#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-28 04:10:50,967 INFO L290 TraceCheckUtils]: 34: Hoare triple {5112#(and (= |mkdup_#in~a.offset| mkdup_~a.offset) (<= 0 mkdup_~j~0) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|))} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {5116#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4))) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)))) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} is VALID [2022-04-28 04:10:51,697 WARN L290 TraceCheckUtils]: 35: Hoare triple {5116#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4))) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)))) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} assume true; {5116#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4))) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)))) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-28 04:10:53,699 WARN L284 TraceCheckUtils]: 36: Hoare quadruple {5116#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (<= 0 mkdup_~j~0) (not (= mkdup_~j~0 mkdup_~i~0)) (= (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4))) (select (select |#memory_int| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)))) (<= 0 mkdup_~i~0) (< mkdup_~j~0 |mkdup_#in~n|) (< mkdup_~i~0 |mkdup_#in~n|)))} {4931#true} #102#return; {5123#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is UNKNOWN [2022-04-28 04:10:53,708 INFO L290 TraceCheckUtils]: 37: Hoare triple {5123#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {5123#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} is VALID [2022-04-28 04:10:53,713 INFO L272 TraceCheckUtils]: 38: Hoare triple {5123#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {4980#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:10:53,714 INFO L290 TraceCheckUtils]: 39: Hoare triple {4980#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {5133#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:10:53,714 INFO L290 TraceCheckUtils]: 40: Hoare triple {5133#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5137#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:10:53,715 INFO L290 TraceCheckUtils]: 41: Hoare triple {5137#(and (<= |finddup_#in~n| finddup_~n) (<= finddup_~i~1 0) (= |#memory_int| |old(#memory_int)|) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5141#(and (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) |finddup_#t~mem10|) (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 1) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:10:53,716 INFO L290 TraceCheckUtils]: 42: Hoare triple {5141#(and (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) |finddup_#t~mem10|) (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 1) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5145#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)))) (<= finddup_~j~1 1))} is VALID [2022-04-28 04:10:53,717 INFO L290 TraceCheckUtils]: 43: Hoare triple {5145#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|)))) (<= finddup_~j~1 1))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5149#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= finddup_~j~1 (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,719 INFO L290 TraceCheckUtils]: 44: Hoare triple {5149#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= finddup_~j~1 (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} assume !(~j~1 < ~n); {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,720 INFO L290 TraceCheckUtils]: 45: Hoare triple {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,721 INFO L290 TraceCheckUtils]: 46: Hoare triple {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,721 INFO L290 TraceCheckUtils]: 47: Hoare triple {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} assume !(~j~1 < ~n); {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,722 INFO L290 TraceCheckUtils]: 48: Hoare triple {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,723 INFO L290 TraceCheckUtils]: 49: Hoare triple {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} assume !(~i~1 < ~n); {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,723 INFO L290 TraceCheckUtils]: 50: Hoare triple {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} #res := 0; {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,724 INFO L290 TraceCheckUtils]: 51: Hoare triple {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} assume true; {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} is VALID [2022-04-28 04:10:53,726 INFO L284 TraceCheckUtils]: 52: Hoare quadruple {5153#(and (= |#memory_int| |old(#memory_int)|) (exists ((v_finddup_~j~1_25 Int)) (and (<= v_finddup_~j~1_25 1) (<= |finddup_#in~n| (+ v_finddup_~j~1_25 1)) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset| (- 4))) (select (select |#memory_int| |finddup_#in~a.base|) (+ (* v_finddup_~j~1_25 4) |finddup_#in~a.offset|)))))))} {5123#(exists ((mkdup_~j~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~j~0 main_~n~0) (< mkdup_~i~0 main_~n~0) (<= 0 mkdup_~j~0) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~j~0 4))) (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset (* mkdup_~i~0 4)))) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0)))} #104#return; {4932#false} is VALID [2022-04-28 04:10:53,726 INFO L290 TraceCheckUtils]: 53: Hoare triple {4932#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {4932#false} is VALID [2022-04-28 04:10:53,726 INFO L272 TraceCheckUtils]: 54: Hoare triple {4932#false} call __VERIFIER_assert(~r~0); {4932#false} is VALID [2022-04-28 04:10:53,726 INFO L290 TraceCheckUtils]: 55: Hoare triple {4932#false} ~cond := #in~cond; {4932#false} is VALID [2022-04-28 04:10:53,727 INFO L290 TraceCheckUtils]: 56: Hoare triple {4932#false} assume 0 == ~cond; {4932#false} is VALID [2022-04-28 04:10:53,727 INFO L290 TraceCheckUtils]: 57: Hoare triple {4932#false} assume !false; {4932#false} is VALID [2022-04-28 04:10:53,727 INFO L134 CoverageAnalysis]: Checked inductivity of 31 backedges. 9 proven. 5 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 04:10:53,727 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:10:54,127 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1638166331] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:10:54,127 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:10:54,127 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [21, 17] total 33 [2022-04-28 04:10:54,127 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:10:54,128 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1830183419] [2022-04-28 04:10:54,128 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1830183419] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:10:54,128 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:10:54,128 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [21] imperfect sequences [] total 21 [2022-04-28 04:10:54,128 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [923403223] [2022-04-28 04:10:54,128 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:10:54,128 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 8 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) Word has length 58 [2022-04-28 04:10:54,129 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:10:54,129 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 21 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 8 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 04:10:54,177 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-28 04:10:54,177 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 21 states [2022-04-28 04:10:54,177 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:10:54,178 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 21 interpolants. [2022-04-28 04:10:54,178 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=92, Invalid=1026, Unknown=4, NotChecked=0, Total=1122 [2022-04-28 04:10:54,178 INFO L87 Difference]: Start difference. First operand 83 states and 99 transitions. Second operand has 21 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 8 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 04:11:07,450 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:07,451 INFO L93 Difference]: Finished difference Result 149 states and 184 transitions. [2022-04-28 04:11:07,451 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 26 states. [2022-04-28 04:11:07,451 INFO L78 Accepts]: Start accepts. Automaton has has 21 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 8 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) Word has length 58 [2022-04-28 04:11:07,451 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:11:07,451 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 8 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 04:11:07,453 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 140 transitions. [2022-04-28 04:11:07,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 21 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 8 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 04:11:07,455 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 26 states to 26 states and 140 transitions. [2022-04-28 04:11:07,455 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 26 states and 140 transitions. [2022-04-28 04:11:07,569 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 140 edges. 140 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:07,570 INFO L225 Difference]: With dead ends: 149 [2022-04-28 04:11:07,570 INFO L226 Difference]: Without dead ends: 104 [2022-04-28 04:11:07,571 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 120 GetRequests, 66 SyntacticMatches, 0 SemanticMatches, 54 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 603 ImplicationChecksByTransitivity, 19.2s TimeCoverageRelationStatistics Valid=291, Invalid=2784, Unknown=5, NotChecked=0, Total=3080 [2022-04-28 04:11:07,572 INFO L413 NwaCegarLoop]: 52 mSDtfsCounter, 146 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 1236 mSolverCounterSat, 111 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 1.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 146 SdHoareTripleChecker+Valid, 68 SdHoareTripleChecker+Invalid, 1347 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 111 IncrementalHoareTripleChecker+Valid, 1236 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 1.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:11:07,572 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [146 Valid, 68 Invalid, 1347 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [111 Valid, 1236 Invalid, 0 Unknown, 0 Unchecked, 1.3s Time] [2022-04-28 04:11:07,572 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-28 04:11:07,703 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 86. [2022-04-28 04:11:07,704 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:11:07,704 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 86 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 60 states have internal predecessors, (69), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:11:07,704 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 86 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 60 states have internal predecessors, (69), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:11:07,705 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 86 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 60 states have internal predecessors, (69), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:11:07,707 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:07,707 INFO L93 Difference]: Finished difference Result 104 states and 128 transitions. [2022-04-28 04:11:07,708 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 128 transitions. [2022-04-28 04:11:07,708 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:07,708 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:07,708 INFO L74 IsIncluded]: Start isIncluded. First operand has 86 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 60 states have internal predecessors, (69), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 104 states. [2022-04-28 04:11:07,708 INFO L87 Difference]: Start difference. First operand has 86 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 60 states have internal predecessors, (69), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 104 states. [2022-04-28 04:11:07,711 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:07,711 INFO L93 Difference]: Finished difference Result 104 states and 128 transitions. [2022-04-28 04:11:07,711 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 128 transitions. [2022-04-28 04:11:07,711 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:07,711 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:07,711 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:11:07,711 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:11:07,711 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 86 states, 58 states have (on average 1.1896551724137931) internal successors, (69), 60 states have internal predecessors, (69), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:11:07,713 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 86 states to 86 states and 103 transitions. [2022-04-28 04:11:07,713 INFO L78 Accepts]: Start accepts. Automaton has 86 states and 103 transitions. Word has length 58 [2022-04-28 04:11:07,713 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:11:07,713 INFO L495 AbstractCegarLoop]: Abstraction has 86 states and 103 transitions. [2022-04-28 04:11:07,714 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 21 states, 17 states have (on average 1.9411764705882353) internal successors, (33), 16 states have internal predecessors, (33), 8 states have call successors, (10), 4 states have call predecessors, (10), 4 states have return successors, (8), 7 states have call predecessors, (8), 7 states have call successors, (8) [2022-04-28 04:11:07,714 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 86 states and 103 transitions. [2022-04-28 04:11:07,830 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 103 edges. 103 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:07,831 INFO L276 IsEmpty]: Start isEmpty. Operand 86 states and 103 transitions. [2022-04-28 04:11:07,831 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 62 [2022-04-28 04:11:07,831 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:11:07,831 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:11:07,847 INFO L552 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (6)] Ended with exit code 0 [2022-04-28 04:11:08,032 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-28 04:11:08,032 INFO L420 AbstractCegarLoop]: === Iteration 9 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:11:08,032 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:11:08,032 INFO L85 PathProgramCache]: Analyzing trace with hash 596047115, now seen corresponding path program 5 times [2022-04-28 04:11:08,032 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:08,032 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [563871144] [2022-04-28 04:11:08,033 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:11:08,033 INFO L85 PathProgramCache]: Analyzing trace with hash 596047115, now seen corresponding path program 6 times [2022-04-28 04:11:08,033 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:11:08,033 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [2142957217] [2022-04-28 04:11:08,033 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:11:08,033 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:11:08,056 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,070 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:11:08,071 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,073 INFO L290 TraceCheckUtils]: 0: Hoare triple {5982#(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(10, 2);call #Ultimate.allocInit(12, 3); {5934#true} is VALID [2022-04-28 04:11:08,073 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,073 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5934#true} {5934#true} #122#return; {5934#true} is VALID [2022-04-28 04:11:08,073 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:08,073 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,075 INFO L290 TraceCheckUtils]: 0: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,075 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,075 INFO L290 TraceCheckUtils]: 2: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,075 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5934#true} {5934#true} #98#return; {5934#true} is VALID [2022-04-28 04:11:08,077 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:11:08,077 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,079 INFO L290 TraceCheckUtils]: 0: Hoare triple {5983#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5934#true} is VALID [2022-04-28 04:11:08,079 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,079 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {5934#true} {5934#true} #100#return; {5934#true} is VALID [2022-04-28 04:11:08,079 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:11:08,082 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,084 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:11:08,084 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,086 INFO L290 TraceCheckUtils]: 0: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,086 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,086 INFO L290 TraceCheckUtils]: 2: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,086 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5934#true} {5934#true} #116#return; {5934#true} is VALID [2022-04-28 04:11:08,086 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:08,087 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,090 INFO L290 TraceCheckUtils]: 0: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,090 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,090 INFO L290 TraceCheckUtils]: 2: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,090 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5934#true} {5934#true} #118#return; {5934#true} is VALID [2022-04-28 04:11:08,090 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:11:08,092 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,093 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,093 INFO L290 TraceCheckUtils]: 2: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,093 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5934#true} {5934#true} #120#return; {5934#true} is VALID [2022-04-28 04:11:08,093 INFO L290 TraceCheckUtils]: 0: Hoare triple {5983#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L272 TraceCheckUtils]: 1: Hoare triple {5934#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 2: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 3: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 4: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {5934#true} {5934#true} #116#return; {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L272 TraceCheckUtils]: 6: Hoare triple {5934#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 7: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 8: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 9: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5934#true} {5934#true} #118#return; {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L272 TraceCheckUtils]: 11: Hoare triple {5934#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 12: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 13: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,094 INFO L290 TraceCheckUtils]: 14: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,095 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5934#true} {5934#true} #120#return; {5934#true} is VALID [2022-04-28 04:11:08,095 INFO L290 TraceCheckUtils]: 16: Hoare triple {5934#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {5934#true} is VALID [2022-04-28 04:11:08,095 INFO L290 TraceCheckUtils]: 17: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,095 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {5934#true} {5934#true} #102#return; {5934#true} is VALID [2022-04-28 04:11:08,095 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:11:08,101 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,129 INFO L290 TraceCheckUtils]: 0: Hoare triple {5983#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {5934#true} is VALID [2022-04-28 04:11:08,130 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,130 INFO L290 TraceCheckUtils]: 2: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,130 INFO L290 TraceCheckUtils]: 3: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,131 INFO L290 TraceCheckUtils]: 4: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5997#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-28 04:11:08,131 INFO L290 TraceCheckUtils]: 5: Hoare triple {5997#(<= (+ finddup_~i~1 2) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,131 INFO L290 TraceCheckUtils]: 6: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,132 INFO L290 TraceCheckUtils]: 7: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,132 INFO L290 TraceCheckUtils]: 8: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} assume !(~j~1 < ~n); {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,132 INFO L290 TraceCheckUtils]: 9: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5999#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:11:08,133 INFO L290 TraceCheckUtils]: 10: Hoare triple {5999#(<= (+ finddup_~i~1 2) finddup_~n)} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {6000#(<= (+ finddup_~j~1 1) finddup_~n)} is VALID [2022-04-28 04:11:08,133 INFO L290 TraceCheckUtils]: 11: Hoare triple {6000#(<= (+ finddup_~j~1 1) finddup_~n)} assume !(~j~1 < ~n); {5935#false} is VALID [2022-04-28 04:11:08,133 INFO L290 TraceCheckUtils]: 12: Hoare triple {5935#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5935#false} is VALID [2022-04-28 04:11:08,133 INFO L290 TraceCheckUtils]: 13: Hoare triple {5935#false} assume !(~i~1 < ~n); {5935#false} is VALID [2022-04-28 04:11:08,133 INFO L290 TraceCheckUtils]: 14: Hoare triple {5935#false} #res := 0; {5935#false} is VALID [2022-04-28 04:11:08,133 INFO L290 TraceCheckUtils]: 15: Hoare triple {5935#false} assume true; {5935#false} is VALID [2022-04-28 04:11:08,133 INFO L284 TraceCheckUtils]: 16: Hoare quadruple {5935#false} {5934#true} #104#return; {5935#false} is VALID [2022-04-28 04:11:08,134 INFO L272 TraceCheckUtils]: 0: Hoare triple {5934#true} call ULTIMATE.init(); {5982#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:11:08,134 INFO L290 TraceCheckUtils]: 1: Hoare triple {5982#(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(10, 2);call #Ultimate.allocInit(12, 3); {5934#true} is VALID [2022-04-28 04:11:08,134 INFO L290 TraceCheckUtils]: 2: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,134 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5934#true} {5934#true} #122#return; {5934#true} is VALID [2022-04-28 04:11:08,134 INFO L272 TraceCheckUtils]: 4: Hoare triple {5934#true} call #t~ret27 := main(); {5934#true} is VALID [2022-04-28 04:11:08,134 INFO L290 TraceCheckUtils]: 5: Hoare triple {5934#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {5934#true} is VALID [2022-04-28 04:11:08,134 INFO L272 TraceCheckUtils]: 6: Hoare triple {5934#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,134 INFO L290 TraceCheckUtils]: 7: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,134 INFO L290 TraceCheckUtils]: 8: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,134 INFO L290 TraceCheckUtils]: 9: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,135 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5934#true} {5934#true} #98#return; {5934#true} is VALID [2022-04-28 04:11:08,135 INFO L290 TraceCheckUtils]: 11: Hoare triple {5934#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5934#true} is VALID [2022-04-28 04:11:08,135 INFO L272 TraceCheckUtils]: 12: Hoare triple {5934#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {5983#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:08,135 INFO L290 TraceCheckUtils]: 13: Hoare triple {5983#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5934#true} is VALID [2022-04-28 04:11:08,135 INFO L290 TraceCheckUtils]: 14: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,135 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5934#true} {5934#true} #100#return; {5934#true} is VALID [2022-04-28 04:11:08,135 INFO L290 TraceCheckUtils]: 16: Hoare triple {5934#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {5934#true} is VALID [2022-04-28 04:11:08,136 INFO L272 TraceCheckUtils]: 17: Hoare triple {5934#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {5983#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:08,136 INFO L290 TraceCheckUtils]: 18: Hoare triple {5983#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {5934#true} is VALID [2022-04-28 04:11:08,136 INFO L272 TraceCheckUtils]: 19: Hoare triple {5934#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,136 INFO L290 TraceCheckUtils]: 20: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,136 INFO L290 TraceCheckUtils]: 21: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,136 INFO L290 TraceCheckUtils]: 22: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,136 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5934#true} {5934#true} #116#return; {5934#true} is VALID [2022-04-28 04:11:08,136 INFO L272 TraceCheckUtils]: 24: Hoare triple {5934#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 25: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 26: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 27: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5934#true} {5934#true} #118#return; {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L272 TraceCheckUtils]: 29: Hoare triple {5934#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 30: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 31: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 32: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5934#true} {5934#true} #120#return; {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 34: Hoare triple {5934#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 35: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5934#true} {5934#true} #102#return; {5934#true} is VALID [2022-04-28 04:11:08,137 INFO L290 TraceCheckUtils]: 37: Hoare triple {5934#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {5934#true} is VALID [2022-04-28 04:11:08,138 INFO L272 TraceCheckUtils]: 38: Hoare triple {5934#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {5983#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:08,138 INFO L290 TraceCheckUtils]: 39: Hoare triple {5983#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {5934#true} is VALID [2022-04-28 04:11:08,139 INFO L290 TraceCheckUtils]: 40: Hoare triple {5934#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,139 INFO L290 TraceCheckUtils]: 41: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,139 INFO L290 TraceCheckUtils]: 42: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,139 INFO L290 TraceCheckUtils]: 43: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5997#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-28 04:11:08,140 INFO L290 TraceCheckUtils]: 44: Hoare triple {5997#(<= (+ finddup_~i~1 2) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,140 INFO L290 TraceCheckUtils]: 45: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,140 INFO L290 TraceCheckUtils]: 46: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,141 INFO L290 TraceCheckUtils]: 47: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} assume !(~j~1 < ~n); {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,141 INFO L290 TraceCheckUtils]: 48: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5999#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:11:08,141 INFO L290 TraceCheckUtils]: 49: Hoare triple {5999#(<= (+ finddup_~i~1 2) finddup_~n)} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {6000#(<= (+ finddup_~j~1 1) finddup_~n)} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 50: Hoare triple {6000#(<= (+ finddup_~j~1 1) finddup_~n)} assume !(~j~1 < ~n); {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 51: Hoare triple {5935#false} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 52: Hoare triple {5935#false} assume !(~i~1 < ~n); {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 53: Hoare triple {5935#false} #res := 0; {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 54: Hoare triple {5935#false} assume true; {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5935#false} {5934#true} #104#return; {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 56: Hoare triple {5935#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L272 TraceCheckUtils]: 57: Hoare triple {5935#false} call __VERIFIER_assert(~r~0); {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 58: Hoare triple {5935#false} ~cond := #in~cond; {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 59: Hoare triple {5935#false} assume 0 == ~cond; {5935#false} is VALID [2022-04-28 04:11:08,142 INFO L290 TraceCheckUtils]: 60: Hoare triple {5935#false} assume !false; {5935#false} is VALID [2022-04-28 04:11:08,143 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 5 proven. 7 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:11:08,143 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:11:08,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [2142957217] [2022-04-28 04:11:08,143 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [2142957217] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:11:08,143 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1648939686] [2022-04-28 04:11:08,143 INFO L93 rtionOrderModulation]: Changing assertion order to MIX_INSIDE_OUTSIDE [2022-04-28 04:11:08,143 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:11:08,143 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:11:08,144 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-28 04:11:08,175 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-28 04:11:08,235 INFO L228 tOrderPrioritization]: Assert order MIX_INSIDE_OUTSIDE issued 4 check-sat command(s) [2022-04-28 04:11:08,235 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:11:08,236 INFO L263 TraceCheckSpWp]: Trace formula consists of 252 conjuncts, 6 conjunts are in the unsatisfiable core [2022-04-28 04:11:08,248 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:08,249 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:11:08,394 INFO L272 TraceCheckUtils]: 0: Hoare triple {5934#true} call ULTIMATE.init(); {5934#true} is VALID [2022-04-28 04:11:08,394 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#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(10, 2);call #Ultimate.allocInit(12, 3); {5934#true} is VALID [2022-04-28 04:11:08,394 INFO L290 TraceCheckUtils]: 2: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,394 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5934#true} {5934#true} #122#return; {5934#true} is VALID [2022-04-28 04:11:08,394 INFO L272 TraceCheckUtils]: 4: Hoare triple {5934#true} call #t~ret27 := main(); {5934#true} is VALID [2022-04-28 04:11:08,394 INFO L290 TraceCheckUtils]: 5: Hoare triple {5934#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {5934#true} is VALID [2022-04-28 04:11:08,394 INFO L272 TraceCheckUtils]: 6: Hoare triple {5934#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,394 INFO L290 TraceCheckUtils]: 7: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 8: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 9: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5934#true} {5934#true} #98#return; {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 11: Hoare triple {5934#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L272 TraceCheckUtils]: 12: Hoare triple {5934#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 13: Hoare triple {5934#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 14: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5934#true} {5934#true} #100#return; {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 16: Hoare triple {5934#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L272 TraceCheckUtils]: 17: Hoare triple {5934#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 18: Hoare triple {5934#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L272 TraceCheckUtils]: 19: Hoare triple {5934#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 20: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,395 INFO L290 TraceCheckUtils]: 21: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 22: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5934#true} {5934#true} #116#return; {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L272 TraceCheckUtils]: 24: Hoare triple {5934#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 25: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 26: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 27: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5934#true} {5934#true} #118#return; {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L272 TraceCheckUtils]: 29: Hoare triple {5934#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 30: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 31: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 32: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5934#true} {5934#true} #120#return; {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 34: Hoare triple {5934#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {5934#true} is VALID [2022-04-28 04:11:08,396 INFO L290 TraceCheckUtils]: 35: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,397 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5934#true} {5934#true} #102#return; {5934#true} is VALID [2022-04-28 04:11:08,397 INFO L290 TraceCheckUtils]: 37: Hoare triple {5934#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {5934#true} is VALID [2022-04-28 04:11:08,397 INFO L272 TraceCheckUtils]: 38: Hoare triple {5934#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {5934#true} is VALID [2022-04-28 04:11:08,397 INFO L290 TraceCheckUtils]: 39: Hoare triple {5934#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {5934#true} is VALID [2022-04-28 04:11:08,411 INFO L290 TraceCheckUtils]: 40: Hoare triple {5934#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,412 INFO L290 TraceCheckUtils]: 41: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,412 INFO L290 TraceCheckUtils]: 42: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,412 INFO L290 TraceCheckUtils]: 43: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5997#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-28 04:11:08,413 INFO L290 TraceCheckUtils]: 44: Hoare triple {5997#(<= (+ finddup_~i~1 2) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,413 INFO L290 TraceCheckUtils]: 45: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,413 INFO L290 TraceCheckUtils]: 46: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,414 INFO L290 TraceCheckUtils]: 47: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} assume !(~j~1 < ~n); {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,414 INFO L290 TraceCheckUtils]: 48: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5999#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:11:08,414 INFO L290 TraceCheckUtils]: 49: Hoare triple {5999#(<= (+ finddup_~i~1 2) finddup_~n)} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5999#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:11:08,415 INFO L290 TraceCheckUtils]: 50: Hoare triple {5999#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(~j~1 < ~n); {5999#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:11:08,415 INFO L290 TraceCheckUtils]: 51: Hoare triple {5999#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {6157#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-28 04:11:08,415 INFO L290 TraceCheckUtils]: 52: Hoare triple {6157#(<= (+ finddup_~i~1 1) finddup_~n)} assume !(~i~1 < ~n); {5935#false} is VALID [2022-04-28 04:11:08,415 INFO L290 TraceCheckUtils]: 53: Hoare triple {5935#false} #res := 0; {5935#false} is VALID [2022-04-28 04:11:08,416 INFO L290 TraceCheckUtils]: 54: Hoare triple {5935#false} assume true; {5935#false} is VALID [2022-04-28 04:11:08,416 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5935#false} {5934#true} #104#return; {5935#false} is VALID [2022-04-28 04:11:08,416 INFO L290 TraceCheckUtils]: 56: Hoare triple {5935#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {5935#false} is VALID [2022-04-28 04:11:08,416 INFO L272 TraceCheckUtils]: 57: Hoare triple {5935#false} call __VERIFIER_assert(~r~0); {5935#false} is VALID [2022-04-28 04:11:08,416 INFO L290 TraceCheckUtils]: 58: Hoare triple {5935#false} ~cond := #in~cond; {5935#false} is VALID [2022-04-28 04:11:08,416 INFO L290 TraceCheckUtils]: 59: Hoare triple {5935#false} assume 0 == ~cond; {5935#false} is VALID [2022-04-28 04:11:08,416 INFO L290 TraceCheckUtils]: 60: Hoare triple {5935#false} assume !false; {5935#false} is VALID [2022-04-28 04:11:08,416 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 3 proven. 9 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:11:08,416 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:11:08,605 INFO L290 TraceCheckUtils]: 60: Hoare triple {5935#false} assume !false; {5935#false} is VALID [2022-04-28 04:11:08,605 INFO L290 TraceCheckUtils]: 59: Hoare triple {5935#false} assume 0 == ~cond; {5935#false} is VALID [2022-04-28 04:11:08,605 INFO L290 TraceCheckUtils]: 58: Hoare triple {5935#false} ~cond := #in~cond; {5935#false} is VALID [2022-04-28 04:11:08,605 INFO L272 TraceCheckUtils]: 57: Hoare triple {5935#false} call __VERIFIER_assert(~r~0); {5935#false} is VALID [2022-04-28 04:11:08,605 INFO L290 TraceCheckUtils]: 56: Hoare triple {5935#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {5935#false} is VALID [2022-04-28 04:11:08,605 INFO L284 TraceCheckUtils]: 55: Hoare quadruple {5935#false} {5934#true} #104#return; {5935#false} is VALID [2022-04-28 04:11:08,605 INFO L290 TraceCheckUtils]: 54: Hoare triple {5935#false} assume true; {5935#false} is VALID [2022-04-28 04:11:08,605 INFO L290 TraceCheckUtils]: 53: Hoare triple {5935#false} #res := 0; {5935#false} is VALID [2022-04-28 04:11:08,615 INFO L290 TraceCheckUtils]: 52: Hoare triple {6157#(<= (+ finddup_~i~1 1) finddup_~n)} assume !(~i~1 < ~n); {5935#false} is VALID [2022-04-28 04:11:08,615 INFO L290 TraceCheckUtils]: 51: Hoare triple {5999#(<= (+ finddup_~i~1 2) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {6157#(<= (+ finddup_~i~1 1) finddup_~n)} is VALID [2022-04-28 04:11:08,615 INFO L290 TraceCheckUtils]: 50: Hoare triple {5999#(<= (+ finddup_~i~1 2) finddup_~n)} assume !(~j~1 < ~n); {5999#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:11:08,616 INFO L290 TraceCheckUtils]: 49: Hoare triple {5999#(<= (+ finddup_~i~1 2) finddup_~n)} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5999#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:11:08,616 INFO L290 TraceCheckUtils]: 48: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {5999#(<= (+ finddup_~i~1 2) finddup_~n)} is VALID [2022-04-28 04:11:08,617 INFO L290 TraceCheckUtils]: 47: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} assume !(~j~1 < ~n); {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,617 INFO L290 TraceCheckUtils]: 46: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,617 INFO L290 TraceCheckUtils]: 45: Hoare triple {5998#(<= (+ finddup_~i~1 3) finddup_~n)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,618 INFO L290 TraceCheckUtils]: 44: Hoare triple {5997#(<= (+ finddup_~i~1 2) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5998#(<= (+ finddup_~i~1 3) finddup_~n)} is VALID [2022-04-28 04:11:08,618 INFO L290 TraceCheckUtils]: 43: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {5997#(<= (+ finddup_~i~1 2) finddup_~j~1)} is VALID [2022-04-28 04:11:08,618 INFO L290 TraceCheckUtils]: 42: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,619 INFO L290 TraceCheckUtils]: 41: Hoare triple {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,619 INFO L290 TraceCheckUtils]: 40: Hoare triple {5934#true} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {5996#(<= (+ finddup_~i~1 1) finddup_~j~1)} is VALID [2022-04-28 04:11:08,619 INFO L290 TraceCheckUtils]: 39: Hoare triple {5934#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {5934#true} is VALID [2022-04-28 04:11:08,619 INFO L272 TraceCheckUtils]: 38: Hoare triple {5934#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {5934#true} is VALID [2022-04-28 04:11:08,619 INFO L290 TraceCheckUtils]: 37: Hoare triple {5934#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {5934#true} is VALID [2022-04-28 04:11:08,619 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {5934#true} {5934#true} #102#return; {5934#true} is VALID [2022-04-28 04:11:08,619 INFO L290 TraceCheckUtils]: 35: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,619 INFO L290 TraceCheckUtils]: 34: Hoare triple {5934#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {5934#true} is VALID [2022-04-28 04:11:08,619 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {5934#true} {5934#true} #120#return; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 32: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 31: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 30: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L272 TraceCheckUtils]: 29: Hoare triple {5934#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {5934#true} {5934#true} #118#return; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 27: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 26: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 25: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L272 TraceCheckUtils]: 24: Hoare triple {5934#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {5934#true} {5934#true} #116#return; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 22: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 21: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 20: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L272 TraceCheckUtils]: 19: Hoare triple {5934#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,620 INFO L290 TraceCheckUtils]: 18: Hoare triple {5934#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L272 TraceCheckUtils]: 17: Hoare triple {5934#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L290 TraceCheckUtils]: 16: Hoare triple {5934#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {5934#true} {5934#true} #100#return; {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L290 TraceCheckUtils]: 14: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L290 TraceCheckUtils]: 13: Hoare triple {5934#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L272 TraceCheckUtils]: 12: Hoare triple {5934#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L290 TraceCheckUtils]: 11: Hoare triple {5934#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {5934#true} {5934#true} #98#return; {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L290 TraceCheckUtils]: 9: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L290 TraceCheckUtils]: 8: Hoare triple {5934#true} assume !(0 == ~cond); {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L290 TraceCheckUtils]: 7: Hoare triple {5934#true} ~cond := #in~cond; {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L272 TraceCheckUtils]: 6: Hoare triple {5934#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {5934#true} is VALID [2022-04-28 04:11:08,621 INFO L290 TraceCheckUtils]: 5: Hoare triple {5934#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {5934#true} is VALID [2022-04-28 04:11:08,622 INFO L272 TraceCheckUtils]: 4: Hoare triple {5934#true} call #t~ret27 := main(); {5934#true} is VALID [2022-04-28 04:11:08,622 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {5934#true} {5934#true} #122#return; {5934#true} is VALID [2022-04-28 04:11:08,622 INFO L290 TraceCheckUtils]: 2: Hoare triple {5934#true} assume true; {5934#true} is VALID [2022-04-28 04:11:08,622 INFO L290 TraceCheckUtils]: 1: Hoare triple {5934#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(10, 2);call #Ultimate.allocInit(12, 3); {5934#true} is VALID [2022-04-28 04:11:08,622 INFO L272 TraceCheckUtils]: 0: Hoare triple {5934#true} call ULTIMATE.init(); {5934#true} is VALID [2022-04-28 04:11:08,622 INFO L134 CoverageAnalysis]: Checked inductivity of 36 backedges. 3 proven. 9 refuted. 0 times theorem prover too weak. 24 trivial. 0 not checked. [2022-04-28 04:11:08,622 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1648939686] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:11:08,622 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:11:08,622 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [9, 7, 7] total 10 [2022-04-28 04:11:08,622 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:11:08,623 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [563871144] [2022-04-28 04:11:08,623 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [563871144] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:08,623 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:08,623 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:11:08,623 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [472622771] [2022-04-28 04:11:08,623 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:11:08,623 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 7 states have internal predecessors, (34), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 61 [2022-04-28 04:11:08,623 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:11:08,623 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 7 states have internal predecessors, (34), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:11:08,654 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-28 04:11:08,654 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:11:08,655 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:08,655 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:11:08,655 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=21, Invalid=69, Unknown=0, NotChecked=0, Total=90 [2022-04-28 04:11:08,655 INFO L87 Difference]: Start difference. First operand 86 states and 103 transitions. Second operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 7 states have internal predecessors, (34), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:11:09,452 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:09,453 INFO L93 Difference]: Finished difference Result 140 states and 170 transitions. [2022-04-28 04:11:09,453 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:11:09,453 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 7 states have internal predecessors, (34), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) Word has length 61 [2022-04-28 04:11:09,453 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:11:09,453 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 7 states have internal predecessors, (34), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:11:09,459 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 116 transitions. [2022-04-28 04:11:09,460 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 7 states have internal predecessors, (34), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:11:09,461 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 116 transitions. [2022-04-28 04:11:09,462 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 116 transitions. [2022-04-28 04:11:09,548 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 116 edges. 116 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:09,550 INFO L225 Difference]: With dead ends: 140 [2022-04-28 04:11:09,550 INFO L226 Difference]: Without dead ends: 96 [2022-04-28 04:11:09,550 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 155 GetRequests, 136 SyntacticMatches, 2 SemanticMatches, 17 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 32 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=111, Invalid=231, Unknown=0, NotChecked=0, Total=342 [2022-04-28 04:11:09,552 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 73 mSDsluCounter, 6 mSDsCounter, 0 mSdLazyCounter, 262 mSolverCounterSat, 57 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.2s Time, 0 mProtectedPredicate, 0 mProtectedAction, 80 SdHoareTripleChecker+Valid, 55 SdHoareTripleChecker+Invalid, 319 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 57 IncrementalHoareTripleChecker+Valid, 262 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.2s IncrementalHoareTripleChecker+Time [2022-04-28 04:11:09,552 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [80 Valid, 55 Invalid, 319 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [57 Valid, 262 Invalid, 0 Unknown, 0 Unchecked, 0.2s Time] [2022-04-28 04:11:09,552 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 96 states. [2022-04-28 04:11:09,736 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 96 to 92. [2022-04-28 04:11:09,736 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:11:09,737 INFO L82 GeneralOperation]: Start isEquivalent. First operand 96 states. Second operand has 92 states, 64 states have (on average 1.203125) internal successors, (77), 66 states have internal predecessors, (77), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:11:09,737 INFO L74 IsIncluded]: Start isIncluded. First operand 96 states. Second operand has 92 states, 64 states have (on average 1.203125) internal successors, (77), 66 states have internal predecessors, (77), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:11:09,737 INFO L87 Difference]: Start difference. First operand 96 states. Second operand has 92 states, 64 states have (on average 1.203125) internal successors, (77), 66 states have internal predecessors, (77), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:11:09,739 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:09,739 INFO L93 Difference]: Finished difference Result 96 states and 115 transitions. [2022-04-28 04:11:09,739 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 115 transitions. [2022-04-28 04:11:09,739 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:09,739 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:09,739 INFO L74 IsIncluded]: Start isIncluded. First operand has 92 states, 64 states have (on average 1.203125) internal successors, (77), 66 states have internal predecessors, (77), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 96 states. [2022-04-28 04:11:09,739 INFO L87 Difference]: Start difference. First operand has 92 states, 64 states have (on average 1.203125) internal successors, (77), 66 states have internal predecessors, (77), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) Second operand 96 states. [2022-04-28 04:11:09,741 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:09,741 INFO L93 Difference]: Finished difference Result 96 states and 115 transitions. [2022-04-28 04:11:09,741 INFO L276 IsEmpty]: Start isEmpty. Operand 96 states and 115 transitions. [2022-04-28 04:11:09,741 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:09,741 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:09,741 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:11:09,741 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:11:09,742 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 92 states, 64 states have (on average 1.203125) internal successors, (77), 66 states have internal predecessors, (77), 17 states have call successors, (17), 9 states have call predecessors, (17), 10 states have return successors, (17), 16 states have call predecessors, (17), 15 states have call successors, (17) [2022-04-28 04:11:09,743 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 92 states to 92 states and 111 transitions. [2022-04-28 04:11:09,743 INFO L78 Accepts]: Start accepts. Automaton has 92 states and 111 transitions. Word has length 61 [2022-04-28 04:11:09,743 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:11:09,743 INFO L495 AbstractCegarLoop]: Abstraction has 92 states and 111 transitions. [2022-04-28 04:11:09,743 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.7777777777777777) internal successors, (34), 7 states have internal predecessors, (34), 2 states have call successors, (10), 4 states have call predecessors, (10), 2 states have return successors, (8), 2 states have call predecessors, (8), 1 states have call successors, (8) [2022-04-28 04:11:09,744 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 92 states and 111 transitions. [2022-04-28 04:11:09,871 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 111 edges. 111 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:09,871 INFO L276 IsEmpty]: Start isEmpty. Operand 92 states and 111 transitions. [2022-04-28 04:11:09,872 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 04:11:09,872 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:11:09,872 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:11:09,888 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-28 04:11:10,079 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable8,7 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:11:10,079 INFO L420 AbstractCegarLoop]: === Iteration 10 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:11:10,079 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:11:10,080 INFO L85 PathProgramCache]: Analyzing trace with hash 645513954, now seen corresponding path program 1 times [2022-04-28 04:11:10,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:10,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1655372868] [2022-04-28 04:11:10,080 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:11:10,080 INFO L85 PathProgramCache]: Analyzing trace with hash 645513954, now seen corresponding path program 2 times [2022-04-28 04:11:10,080 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:11:10,080 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [473858233] [2022-04-28 04:11:10,080 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:11:10,080 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:11:10,113 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,142 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:11:10,143 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {7089#(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(10, 2);call #Ultimate.allocInit(12, 3); {7042#true} is VALID [2022-04-28 04:11:10,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,145 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7042#true} {7042#true} #122#return; {7042#true} is VALID [2022-04-28 04:11:10,145 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:10,146 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,147 INFO L290 TraceCheckUtils]: 0: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,147 INFO L290 TraceCheckUtils]: 1: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,147 INFO L290 TraceCheckUtils]: 2: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,147 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7042#true} {7042#true} #98#return; {7042#true} is VALID [2022-04-28 04:11:10,150 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:11:10,151 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,152 INFO L290 TraceCheckUtils]: 0: Hoare triple {7090#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7042#true} is VALID [2022-04-28 04:11:10,152 INFO L290 TraceCheckUtils]: 1: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,152 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7042#true} {7042#true} #100#return; {7042#true} is VALID [2022-04-28 04:11:10,152 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:11:10,157 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,169 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:11:10,170 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,172 INFO L290 TraceCheckUtils]: 0: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,172 INFO L290 TraceCheckUtils]: 1: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,172 INFO L290 TraceCheckUtils]: 2: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,172 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7042#true} {7042#true} #116#return; {7042#true} is VALID [2022-04-28 04:11:10,172 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:10,172 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,175 INFO L290 TraceCheckUtils]: 0: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,175 INFO L290 TraceCheckUtils]: 1: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,175 INFO L290 TraceCheckUtils]: 2: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,175 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7042#true} {7042#true} #118#return; {7042#true} is VALID [2022-04-28 04:11:10,175 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:11:10,175 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,177 INFO L290 TraceCheckUtils]: 0: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L290 TraceCheckUtils]: 1: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7042#true} {7042#true} #120#return; {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L290 TraceCheckUtils]: 0: Hoare triple {7090#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L272 TraceCheckUtils]: 1: Hoare triple {7042#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L290 TraceCheckUtils]: 2: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L290 TraceCheckUtils]: 3: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L290 TraceCheckUtils]: 4: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7042#true} {7042#true} #116#return; {7042#true} is VALID [2022-04-28 04:11:10,177 INFO L272 TraceCheckUtils]: 6: Hoare triple {7042#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L290 TraceCheckUtils]: 7: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L290 TraceCheckUtils]: 8: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L290 TraceCheckUtils]: 9: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7042#true} {7042#true} #118#return; {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L272 TraceCheckUtils]: 11: Hoare triple {7042#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L290 TraceCheckUtils]: 12: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L290 TraceCheckUtils]: 13: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L290 TraceCheckUtils]: 14: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7042#true} {7042#true} #120#return; {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L290 TraceCheckUtils]: 16: Hoare triple {7042#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L290 TraceCheckUtils]: 17: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7042#true} {7042#true} #102#return; {7042#true} is VALID [2022-04-28 04:11:10,178 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:11:10,185 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,214 INFO L290 TraceCheckUtils]: 0: Hoare triple {7090#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {7103#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= 0 finddup_~i~1))} is VALID [2022-04-28 04:11:10,215 INFO L290 TraceCheckUtils]: 1: Hoare triple {7103#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= 0 finddup_~i~1))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {7104#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:10,215 INFO L290 TraceCheckUtils]: 2: Hoare triple {7104#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {7104#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:10,216 INFO L290 TraceCheckUtils]: 3: Hoare triple {7104#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {7105#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:10,216 INFO L290 TraceCheckUtils]: 4: Hoare triple {7105#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} assume true; {7105#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:10,217 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7105#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} {7042#true} #104#return; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,217 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 04:11:10,218 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,222 INFO L290 TraceCheckUtils]: 0: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,222 INFO L290 TraceCheckUtils]: 1: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,222 INFO L290 TraceCheckUtils]: 2: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,223 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7042#true} {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} #106#return; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,223 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-04-28 04:11:10,224 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:10,226 INFO L290 TraceCheckUtils]: 0: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,226 INFO L290 TraceCheckUtils]: 1: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,226 INFO L290 TraceCheckUtils]: 2: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,226 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7042#true} {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} #108#return; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,227 INFO L272 TraceCheckUtils]: 0: Hoare triple {7042#true} call ULTIMATE.init(); {7089#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:11:10,227 INFO L290 TraceCheckUtils]: 1: Hoare triple {7089#(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(10, 2);call #Ultimate.allocInit(12, 3); {7042#true} is VALID [2022-04-28 04:11:10,227 INFO L290 TraceCheckUtils]: 2: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,227 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7042#true} {7042#true} #122#return; {7042#true} is VALID [2022-04-28 04:11:10,227 INFO L272 TraceCheckUtils]: 4: Hoare triple {7042#true} call #t~ret27 := main(); {7042#true} is VALID [2022-04-28 04:11:10,227 INFO L290 TraceCheckUtils]: 5: Hoare triple {7042#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {7042#true} is VALID [2022-04-28 04:11:10,227 INFO L272 TraceCheckUtils]: 6: Hoare triple {7042#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {7042#true} is VALID [2022-04-28 04:11:10,227 INFO L290 TraceCheckUtils]: 7: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,227 INFO L290 TraceCheckUtils]: 8: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,228 INFO L290 TraceCheckUtils]: 9: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,228 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7042#true} {7042#true} #98#return; {7042#true} is VALID [2022-04-28 04:11:10,228 INFO L290 TraceCheckUtils]: 11: Hoare triple {7042#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {7042#true} is VALID [2022-04-28 04:11:10,228 INFO L272 TraceCheckUtils]: 12: Hoare triple {7042#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {7090#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:10,228 INFO L290 TraceCheckUtils]: 13: Hoare triple {7090#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7042#true} is VALID [2022-04-28 04:11:10,228 INFO L290 TraceCheckUtils]: 14: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,228 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7042#true} {7042#true} #100#return; {7042#true} is VALID [2022-04-28 04:11:10,229 INFO L290 TraceCheckUtils]: 16: Hoare triple {7042#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {7042#true} is VALID [2022-04-28 04:11:10,229 INFO L272 TraceCheckUtils]: 17: Hoare triple {7042#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {7090#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:10,229 INFO L290 TraceCheckUtils]: 18: Hoare triple {7090#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {7042#true} is VALID [2022-04-28 04:11:10,229 INFO L272 TraceCheckUtils]: 19: Hoare triple {7042#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {7042#true} is VALID [2022-04-28 04:11:10,229 INFO L290 TraceCheckUtils]: 20: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,229 INFO L290 TraceCheckUtils]: 21: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,229 INFO L290 TraceCheckUtils]: 22: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,229 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7042#true} {7042#true} #116#return; {7042#true} is VALID [2022-04-28 04:11:10,229 INFO L272 TraceCheckUtils]: 24: Hoare triple {7042#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 25: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 26: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 27: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7042#true} {7042#true} #118#return; {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L272 TraceCheckUtils]: 29: Hoare triple {7042#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 30: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 31: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 32: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7042#true} {7042#true} #120#return; {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 34: Hoare triple {7042#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 35: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7042#true} {7042#true} #102#return; {7042#true} is VALID [2022-04-28 04:11:10,230 INFO L290 TraceCheckUtils]: 37: Hoare triple {7042#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {7042#true} is VALID [2022-04-28 04:11:10,231 INFO L272 TraceCheckUtils]: 38: Hoare triple {7042#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {7090#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:10,232 INFO L290 TraceCheckUtils]: 39: Hoare triple {7090#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {7103#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= 0 finddup_~i~1))} is VALID [2022-04-28 04:11:10,232 INFO L290 TraceCheckUtils]: 40: Hoare triple {7103#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= 0 finddup_~i~1))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {7104#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:10,232 INFO L290 TraceCheckUtils]: 41: Hoare triple {7104#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {7104#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:10,233 INFO L290 TraceCheckUtils]: 42: Hoare triple {7104#(and (= |finddup_#in~_j.base| finddup_~_j.base) (<= 1 finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {7105#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:10,233 INFO L290 TraceCheckUtils]: 43: Hoare triple {7105#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} assume true; {7105#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:10,234 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7105#(<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))} {7042#true} #104#return; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,234 INFO L290 TraceCheckUtils]: 45: Hoare triple {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,234 INFO L272 TraceCheckUtils]: 46: Hoare triple {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} call __VERIFIER_assert(~r~0); {7042#true} is VALID [2022-04-28 04:11:10,234 INFO L290 TraceCheckUtils]: 47: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,235 INFO L290 TraceCheckUtils]: 48: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,235 INFO L290 TraceCheckUtils]: 49: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,235 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7042#true} {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} #106#return; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,235 INFO L290 TraceCheckUtils]: 51: Hoare triple {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,235 INFO L290 TraceCheckUtils]: 52: Hoare triple {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,236 INFO L272 TraceCheckUtils]: 53: Hoare triple {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {7042#true} is VALID [2022-04-28 04:11:10,236 INFO L290 TraceCheckUtils]: 54: Hoare triple {7042#true} ~cond := #in~cond; {7042#true} is VALID [2022-04-28 04:11:10,236 INFO L290 TraceCheckUtils]: 55: Hoare triple {7042#true} assume !(0 == ~cond); {7042#true} is VALID [2022-04-28 04:11:10,236 INFO L290 TraceCheckUtils]: 56: Hoare triple {7042#true} assume true; {7042#true} is VALID [2022-04-28 04:11:10,236 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {7042#true} {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} #108#return; {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} is VALID [2022-04-28 04:11:10,237 INFO L290 TraceCheckUtils]: 58: Hoare triple {7079#(<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {7088#|main_#t~short20|} is VALID [2022-04-28 04:11:10,237 INFO L290 TraceCheckUtils]: 59: Hoare triple {7088#|main_#t~short20|} assume !#t~short20; {7043#false} is VALID [2022-04-28 04:11:10,237 INFO L272 TraceCheckUtils]: 60: Hoare triple {7043#false} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {7043#false} is VALID [2022-04-28 04:11:10,237 INFO L290 TraceCheckUtils]: 61: Hoare triple {7043#false} ~cond := #in~cond; {7043#false} is VALID [2022-04-28 04:11:10,237 INFO L290 TraceCheckUtils]: 62: Hoare triple {7043#false} assume 0 == ~cond; {7043#false} is VALID [2022-04-28 04:11:10,237 INFO L290 TraceCheckUtils]: 63: Hoare triple {7043#false} assume !false; {7043#false} is VALID [2022-04-28 04:11:10,237 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 04:11:10,237 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:11:10,238 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [473858233] [2022-04-28 04:11:10,238 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [473858233] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:10,238 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:10,238 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:11:10,239 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:11:10,239 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1655372868] [2022-04-28 04:11:10,239 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1655372868] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:10,239 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:10,239 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [9] imperfect sequences [] total 9 [2022-04-28 04:11:10,240 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [117558275] [2022-04-28 04:11:10,240 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:11:10,240 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 64 [2022-04-28 04:11:10,241 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:11:10,241 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:10,269 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-28 04:11:10,269 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 9 states [2022-04-28 04:11:10,269 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:10,270 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 9 interpolants. [2022-04-28 04:11:10,270 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=15, Invalid=57, Unknown=0, NotChecked=0, Total=72 [2022-04-28 04:11:10,270 INFO L87 Difference]: Start difference. First operand 92 states and 111 transitions. Second operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:11,252 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:11,253 INFO L93 Difference]: Finished difference Result 111 states and 135 transitions. [2022-04-28 04:11:11,253 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:11:11,253 INFO L78 Accepts]: Start accepts. Automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 64 [2022-04-28 04:11:11,253 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:11:11,254 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:11,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-28 04:11:11,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:11,256 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 98 transitions. [2022-04-28 04:11:11,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 98 transitions. [2022-04-28 04:11:11,331 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 98 edges. 98 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:11,333 INFO L225 Difference]: With dead ends: 111 [2022-04-28 04:11:11,333 INFO L226 Difference]: Without dead ends: 100 [2022-04-28 04:11:11,333 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 33 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 13 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 11 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=49, Invalid=161, Unknown=0, NotChecked=0, Total=210 [2022-04-28 04:11:11,334 INFO L413 NwaCegarLoop]: 39 mSDtfsCounter, 78 mSDsluCounter, 10 mSDsCounter, 0 mSdLazyCounter, 384 mSolverCounterSat, 65 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.3s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 49 SdHoareTripleChecker+Invalid, 449 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 65 IncrementalHoareTripleChecker+Valid, 384 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.3s IncrementalHoareTripleChecker+Time [2022-04-28 04:11:11,334 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [85 Valid, 49 Invalid, 449 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [65 Valid, 384 Invalid, 0 Unknown, 0 Unchecked, 0.3s Time] [2022-04-28 04:11:11,335 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 100 states. [2022-04-28 04:11:11,529 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 100 to 95. [2022-04-28 04:11:11,529 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:11:11,529 INFO L82 GeneralOperation]: Start isEquivalent. First operand 100 states. Second operand has 95 states, 66 states have (on average 1.196969696969697) internal successors, (79), 68 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 10 states have return successors, (18), 17 states have call predecessors, (18), 16 states have call successors, (18) [2022-04-28 04:11:11,529 INFO L74 IsIncluded]: Start isIncluded. First operand 100 states. Second operand has 95 states, 66 states have (on average 1.196969696969697) internal successors, (79), 68 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 10 states have return successors, (18), 17 states have call predecessors, (18), 16 states have call successors, (18) [2022-04-28 04:11:11,529 INFO L87 Difference]: Start difference. First operand 100 states. Second operand has 95 states, 66 states have (on average 1.196969696969697) internal successors, (79), 68 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 10 states have return successors, (18), 17 states have call predecessors, (18), 16 states have call successors, (18) [2022-04-28 04:11:11,531 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:11,531 INFO L93 Difference]: Finished difference Result 100 states and 122 transitions. [2022-04-28 04:11:11,531 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 122 transitions. [2022-04-28 04:11:11,532 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:11,532 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:11,532 INFO L74 IsIncluded]: Start isIncluded. First operand has 95 states, 66 states have (on average 1.196969696969697) internal successors, (79), 68 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 10 states have return successors, (18), 17 states have call predecessors, (18), 16 states have call successors, (18) Second operand 100 states. [2022-04-28 04:11:11,532 INFO L87 Difference]: Start difference. First operand has 95 states, 66 states have (on average 1.196969696969697) internal successors, (79), 68 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 10 states have return successors, (18), 17 states have call predecessors, (18), 16 states have call successors, (18) Second operand 100 states. [2022-04-28 04:11:11,533 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:11,534 INFO L93 Difference]: Finished difference Result 100 states and 122 transitions. [2022-04-28 04:11:11,534 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 122 transitions. [2022-04-28 04:11:11,534 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:11,534 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:11,534 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:11:11,534 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:11:11,534 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 95 states, 66 states have (on average 1.196969696969697) internal successors, (79), 68 states have internal predecessors, (79), 18 states have call successors, (18), 9 states have call predecessors, (18), 10 states have return successors, (18), 17 states have call predecessors, (18), 16 states have call successors, (18) [2022-04-28 04:11:11,536 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 95 states to 95 states and 115 transitions. [2022-04-28 04:11:11,536 INFO L78 Accepts]: Start accepts. Automaton has 95 states and 115 transitions. Word has length 64 [2022-04-28 04:11:11,536 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:11:11,536 INFO L495 AbstractCegarLoop]: Abstraction has 95 states and 115 transitions. [2022-04-28 04:11:11,536 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 9 states, 9 states have (on average 3.3333333333333335) internal successors, (30), 7 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:11,536 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 95 states and 115 transitions. [2022-04-28 04:11:11,687 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 115 edges. 115 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:11,687 INFO L276 IsEmpty]: Start isEmpty. Operand 95 states and 115 transitions. [2022-04-28 04:11:11,688 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 65 [2022-04-28 04:11:11,688 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:11:11,688 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:11:11,688 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable9 [2022-04-28 04:11:11,688 INFO L420 AbstractCegarLoop]: === Iteration 11 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:11:11,688 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:11:11,688 INFO L85 PathProgramCache]: Analyzing trace with hash 643666912, now seen corresponding path program 1 times [2022-04-28 04:11:11,688 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:11,688 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [12043349] [2022-04-28 04:11:11,689 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:11:11,689 INFO L85 PathProgramCache]: Analyzing trace with hash 643666912, now seen corresponding path program 2 times [2022-04-28 04:11:11,689 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:11:11,689 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1253867367] [2022-04-28 04:11:11,689 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:11:11,689 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:11:11,718 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,748 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:11:11,749 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,750 INFO L290 TraceCheckUtils]: 0: Hoare triple {7782#(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(10, 2);call #Ultimate.allocInit(12, 3); {7733#true} is VALID [2022-04-28 04:11:11,751 INFO L290 TraceCheckUtils]: 1: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,751 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7733#true} {7733#true} #122#return; {7733#true} is VALID [2022-04-28 04:11:11,751 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:11,751 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,753 INFO L290 TraceCheckUtils]: 0: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,753 INFO L290 TraceCheckUtils]: 1: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,753 INFO L290 TraceCheckUtils]: 2: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,753 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7733#true} {7733#true} #98#return; {7733#true} is VALID [2022-04-28 04:11:11,757 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:11:11,757 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,759 INFO L290 TraceCheckUtils]: 0: Hoare triple {7783#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7733#true} is VALID [2022-04-28 04:11:11,759 INFO L290 TraceCheckUtils]: 1: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,759 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {7733#true} {7733#true} #100#return; {7733#true} is VALID [2022-04-28 04:11:11,759 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:11:11,763 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,766 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:11:11,766 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,768 INFO L290 TraceCheckUtils]: 0: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,768 INFO L290 TraceCheckUtils]: 1: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,768 INFO L290 TraceCheckUtils]: 2: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,768 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7733#true} {7733#true} #116#return; {7733#true} is VALID [2022-04-28 04:11:11,768 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:11,768 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,770 INFO L290 TraceCheckUtils]: 0: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,770 INFO L290 TraceCheckUtils]: 1: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,770 INFO L290 TraceCheckUtils]: 2: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,770 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7733#true} {7733#true} #118#return; {7733#true} is VALID [2022-04-28 04:11:11,770 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:11:11,770 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L290 TraceCheckUtils]: 1: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7733#true} {7733#true} #120#return; {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L290 TraceCheckUtils]: 0: Hoare triple {7783#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L272 TraceCheckUtils]: 1: Hoare triple {7733#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L290 TraceCheckUtils]: 2: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L290 TraceCheckUtils]: 3: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L290 TraceCheckUtils]: 4: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7733#true} {7733#true} #116#return; {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L272 TraceCheckUtils]: 6: Hoare triple {7733#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {7733#true} is VALID [2022-04-28 04:11:11,772 INFO L290 TraceCheckUtils]: 7: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L290 TraceCheckUtils]: 8: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L290 TraceCheckUtils]: 9: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7733#true} {7733#true} #118#return; {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L272 TraceCheckUtils]: 11: Hoare triple {7733#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L290 TraceCheckUtils]: 12: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L290 TraceCheckUtils]: 13: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L290 TraceCheckUtils]: 14: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7733#true} {7733#true} #120#return; {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L290 TraceCheckUtils]: 16: Hoare triple {7733#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L290 TraceCheckUtils]: 17: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {7733#true} {7733#true} #102#return; {7733#true} is VALID [2022-04-28 04:11:11,773 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:11:11,777 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,816 INFO L290 TraceCheckUtils]: 0: Hoare triple {7783#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {7796#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:11,816 INFO L290 TraceCheckUtils]: 1: Hoare triple {7796#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {7796#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:11,817 INFO L290 TraceCheckUtils]: 2: Hoare triple {7796#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {7797#(and (<= (+ finddup_~j~1 1) |finddup_#in~n|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:11,817 INFO L290 TraceCheckUtils]: 3: Hoare triple {7797#(and (<= (+ finddup_~j~1 1) |finddup_#in~n|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {7798#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} is VALID [2022-04-28 04:11:11,818 INFO L290 TraceCheckUtils]: 4: Hoare triple {7798#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} assume true; {7798#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} is VALID [2022-04-28 04:11:11,819 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {7798#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} {7733#true} #104#return; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,819 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 04:11:11,820 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,821 INFO L290 TraceCheckUtils]: 0: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,821 INFO L290 TraceCheckUtils]: 1: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,821 INFO L290 TraceCheckUtils]: 2: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,822 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7733#true} {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} #106#return; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,822 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-04-28 04:11:11,822 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:11,824 INFO L290 TraceCheckUtils]: 0: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,824 INFO L290 TraceCheckUtils]: 1: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,824 INFO L290 TraceCheckUtils]: 2: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,824 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7733#true} {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} #108#return; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,825 INFO L272 TraceCheckUtils]: 0: Hoare triple {7733#true} call ULTIMATE.init(); {7782#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:11:11,825 INFO L290 TraceCheckUtils]: 1: Hoare triple {7782#(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(10, 2);call #Ultimate.allocInit(12, 3); {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L290 TraceCheckUtils]: 2: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {7733#true} {7733#true} #122#return; {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L272 TraceCheckUtils]: 4: Hoare triple {7733#true} call #t~ret27 := main(); {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L290 TraceCheckUtils]: 5: Hoare triple {7733#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L272 TraceCheckUtils]: 6: Hoare triple {7733#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L290 TraceCheckUtils]: 7: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L290 TraceCheckUtils]: 8: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L290 TraceCheckUtils]: 9: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {7733#true} {7733#true} #98#return; {7733#true} is VALID [2022-04-28 04:11:11,825 INFO L290 TraceCheckUtils]: 11: Hoare triple {7733#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {7733#true} is VALID [2022-04-28 04:11:11,826 INFO L272 TraceCheckUtils]: 12: Hoare triple {7733#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {7783#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:11,826 INFO L290 TraceCheckUtils]: 13: Hoare triple {7783#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {7733#true} is VALID [2022-04-28 04:11:11,826 INFO L290 TraceCheckUtils]: 14: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,826 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {7733#true} {7733#true} #100#return; {7733#true} is VALID [2022-04-28 04:11:11,826 INFO L290 TraceCheckUtils]: 16: Hoare triple {7733#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L272 TraceCheckUtils]: 17: Hoare triple {7733#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {7783#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:11,827 INFO L290 TraceCheckUtils]: 18: Hoare triple {7783#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L272 TraceCheckUtils]: 19: Hoare triple {7733#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L290 TraceCheckUtils]: 20: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L290 TraceCheckUtils]: 21: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L290 TraceCheckUtils]: 22: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {7733#true} {7733#true} #116#return; {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L272 TraceCheckUtils]: 24: Hoare triple {7733#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L290 TraceCheckUtils]: 25: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,827 INFO L290 TraceCheckUtils]: 26: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L290 TraceCheckUtils]: 27: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {7733#true} {7733#true} #118#return; {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L272 TraceCheckUtils]: 29: Hoare triple {7733#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L290 TraceCheckUtils]: 30: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L290 TraceCheckUtils]: 31: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L290 TraceCheckUtils]: 32: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {7733#true} {7733#true} #120#return; {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L290 TraceCheckUtils]: 34: Hoare triple {7733#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L290 TraceCheckUtils]: 35: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {7733#true} {7733#true} #102#return; {7733#true} is VALID [2022-04-28 04:11:11,828 INFO L290 TraceCheckUtils]: 37: Hoare triple {7733#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {7733#true} is VALID [2022-04-28 04:11:11,829 INFO L272 TraceCheckUtils]: 38: Hoare triple {7733#true} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {7783#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:11,829 INFO L290 TraceCheckUtils]: 39: Hoare triple {7783#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {7796#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:11,830 INFO L290 TraceCheckUtils]: 40: Hoare triple {7796#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {7796#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:11,830 INFO L290 TraceCheckUtils]: 41: Hoare triple {7796#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= |finddup_#in~n| finddup_~n) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {7797#(and (<= (+ finddup_~j~1 1) |finddup_#in~n|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))} is VALID [2022-04-28 04:11:11,831 INFO L290 TraceCheckUtils]: 42: Hoare triple {7797#(and (<= (+ finddup_~j~1 1) |finddup_#in~n|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {7798#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} is VALID [2022-04-28 04:11:11,831 INFO L290 TraceCheckUtils]: 43: Hoare triple {7798#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} assume true; {7798#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} is VALID [2022-04-28 04:11:11,832 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {7798#(<= (+ (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1) |finddup_#in~n|)} {7733#true} #104#return; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,832 INFO L290 TraceCheckUtils]: 45: Hoare triple {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,832 INFO L272 TraceCheckUtils]: 46: Hoare triple {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} call __VERIFIER_assert(~r~0); {7733#true} is VALID [2022-04-28 04:11:11,832 INFO L290 TraceCheckUtils]: 47: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,832 INFO L290 TraceCheckUtils]: 48: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,833 INFO L290 TraceCheckUtils]: 49: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,833 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {7733#true} {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} #106#return; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,833 INFO L290 TraceCheckUtils]: 51: Hoare triple {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,833 INFO L290 TraceCheckUtils]: 52: Hoare triple {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,834 INFO L272 TraceCheckUtils]: 53: Hoare triple {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {7733#true} is VALID [2022-04-28 04:11:11,834 INFO L290 TraceCheckUtils]: 54: Hoare triple {7733#true} ~cond := #in~cond; {7733#true} is VALID [2022-04-28 04:11:11,834 INFO L290 TraceCheckUtils]: 55: Hoare triple {7733#true} assume !(0 == ~cond); {7733#true} is VALID [2022-04-28 04:11:11,834 INFO L290 TraceCheckUtils]: 56: Hoare triple {7733#true} assume true; {7733#true} is VALID [2022-04-28 04:11:11,834 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {7733#true} {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} #108#return; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,834 INFO L290 TraceCheckUtils]: 58: Hoare triple {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} is VALID [2022-04-28 04:11:11,835 INFO L290 TraceCheckUtils]: 59: Hoare triple {7770#(<= (+ (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) main_~n~0)} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {7779#|main_#t~short20|} is VALID [2022-04-28 04:11:11,835 INFO L272 TraceCheckUtils]: 60: Hoare triple {7779#|main_#t~short20|} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {7780#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:11,836 INFO L290 TraceCheckUtils]: 61: Hoare triple {7780#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {7781#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:11:11,836 INFO L290 TraceCheckUtils]: 62: Hoare triple {7781#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {7734#false} is VALID [2022-04-28 04:11:11,836 INFO L290 TraceCheckUtils]: 63: Hoare triple {7734#false} assume !false; {7734#false} is VALID [2022-04-28 04:11:11,836 INFO L134 CoverageAnalysis]: Checked inductivity of 32 backedges. 4 proven. 0 refuted. 0 times theorem prover too weak. 28 trivial. 0 not checked. [2022-04-28 04:11:11,836 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:11:11,836 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1253867367] [2022-04-28 04:11:11,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1253867367] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:11,837 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:11,837 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:11:11,837 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:11:11,837 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [12043349] [2022-04-28 04:11:11,837 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [12043349] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:11,837 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:11,837 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [11] imperfect sequences [] total 11 [2022-04-28 04:11:11,837 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [590097283] [2022-04-28 04:11:11,837 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:11:11,838 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 64 [2022-04-28 04:11:11,838 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:11:11,838 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:11,867 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-28 04:11:11,867 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 11 states [2022-04-28 04:11:11,867 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:11,868 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 11 interpolants. [2022-04-28 04:11:11,868 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=19, Invalid=91, Unknown=0, NotChecked=0, Total=110 [2022-04-28 04:11:11,868 INFO L87 Difference]: Start difference. First operand 95 states and 115 transitions. Second operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:13,173 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:13,173 INFO L93 Difference]: Finished difference Result 106 states and 127 transitions. [2022-04-28 04:11:13,173 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 13 states. [2022-04-28 04:11:13,173 INFO L78 Accepts]: Start accepts. Automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) Word has length 64 [2022-04-28 04:11:13,173 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:11:13,173 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:13,174 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 89 transitions. [2022-04-28 04:11:13,174 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:13,175 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 13 states to 13 states and 89 transitions. [2022-04-28 04:11:13,175 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 13 states and 89 transitions. [2022-04-28 04:11:13,247 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 89 edges. 89 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:13,249 INFO L225 Difference]: With dead ends: 106 [2022-04-28 04:11:13,249 INFO L226 Difference]: Without dead ends: 104 [2022-04-28 04:11:13,249 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 38 GetRequests, 20 SyntacticMatches, 0 SemanticMatches, 18 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 27 ImplicationChecksByTransitivity, 0.1s TimeCoverageRelationStatistics Valid=74, Invalid=306, Unknown=0, NotChecked=0, Total=380 [2022-04-28 04:11:13,249 INFO L413 NwaCegarLoop]: 42 mSDtfsCounter, 78 mSDsluCounter, 14 mSDsCounter, 0 mSdLazyCounter, 545 mSolverCounterSat, 62 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 85 SdHoareTripleChecker+Valid, 56 SdHoareTripleChecker+Invalid, 607 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 62 IncrementalHoareTripleChecker+Valid, 545 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:11:13,250 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [85 Valid, 56 Invalid, 607 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [62 Valid, 545 Invalid, 0 Unknown, 0 Unchecked, 0.5s Time] [2022-04-28 04:11:13,250 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 104 states. [2022-04-28 04:11:13,463 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 104 to 100. [2022-04-28 04:11:13,463 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:11:13,463 INFO L82 GeneralOperation]: Start isEquivalent. First operand 104 states. Second operand has 100 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 72 states have internal predecessors, (82), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-28 04:11:13,463 INFO L74 IsIncluded]: Start isIncluded. First operand 104 states. Second operand has 100 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 72 states have internal predecessors, (82), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-28 04:11:13,463 INFO L87 Difference]: Start difference. First operand 104 states. Second operand has 100 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 72 states have internal predecessors, (82), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-28 04:11:13,465 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:13,465 INFO L93 Difference]: Finished difference Result 104 states and 125 transitions. [2022-04-28 04:11:13,465 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 125 transitions. [2022-04-28 04:11:13,465 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:13,466 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:13,466 INFO L74 IsIncluded]: Start isIncluded. First operand has 100 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 72 states have internal predecessors, (82), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) Second operand 104 states. [2022-04-28 04:11:13,466 INFO L87 Difference]: Start difference. First operand has 100 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 72 states have internal predecessors, (82), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) Second operand 104 states. [2022-04-28 04:11:13,467 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:13,468 INFO L93 Difference]: Finished difference Result 104 states and 125 transitions. [2022-04-28 04:11:13,468 INFO L276 IsEmpty]: Start isEmpty. Operand 104 states and 125 transitions. [2022-04-28 04:11:13,468 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:13,468 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:13,468 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:11:13,468 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:11:13,468 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 100 states, 69 states have (on average 1.1884057971014492) internal successors, (82), 72 states have internal predecessors, (82), 19 states have call successors, (19), 10 states have call predecessors, (19), 11 states have return successors, (19), 17 states have call predecessors, (19), 17 states have call successors, (19) [2022-04-28 04:11:13,470 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 100 states to 100 states and 120 transitions. [2022-04-28 04:11:13,470 INFO L78 Accepts]: Start accepts. Automaton has 100 states and 120 transitions. Word has length 64 [2022-04-28 04:11:13,470 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:11:13,470 INFO L495 AbstractCegarLoop]: Abstraction has 100 states and 120 transitions. [2022-04-28 04:11:13,470 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 11 states, 10 states have (on average 3.0) internal successors, (30), 8 states have internal predecessors, (30), 3 states have call successors, (12), 4 states have call predecessors, (12), 2 states have return successors, (10), 2 states have call predecessors, (10), 2 states have call successors, (10) [2022-04-28 04:11:13,470 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 100 states and 120 transitions. [2022-04-28 04:11:13,631 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 120 edges. 120 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:13,631 INFO L276 IsEmpty]: Start isEmpty. Operand 100 states and 120 transitions. [2022-04-28 04:11:13,632 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 67 [2022-04-28 04:11:13,632 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:11:13,632 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:11:13,632 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable10 [2022-04-28 04:11:13,632 INFO L420 AbstractCegarLoop]: === Iteration 12 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:11:13,632 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:11:13,633 INFO L85 PathProgramCache]: Analyzing trace with hash -779883059, now seen corresponding path program 1 times [2022-04-28 04:11:13,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:13,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [740523027] [2022-04-28 04:11:13,633 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:11:13,633 INFO L85 PathProgramCache]: Analyzing trace with hash -779883059, now seen corresponding path program 2 times [2022-04-28 04:11:13,633 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:11:13,633 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1559347616] [2022-04-28 04:11:13,633 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:11:13,633 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:11:13,648 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,692 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:11:13,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,695 INFO L290 TraceCheckUtils]: 0: Hoare triple {8495#(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(10, 2);call #Ultimate.allocInit(12, 3); {8440#true} is VALID [2022-04-28 04:11:13,695 INFO L290 TraceCheckUtils]: 1: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,695 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8440#true} {8440#true} #122#return; {8440#true} is VALID [2022-04-28 04:11:13,695 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:13,695 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,702 INFO L290 TraceCheckUtils]: 0: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,702 INFO L290 TraceCheckUtils]: 1: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,702 INFO L290 TraceCheckUtils]: 2: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,702 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8440#true} {8440#true} #98#return; {8440#true} is VALID [2022-04-28 04:11:13,708 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:11:13,709 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,711 INFO L290 TraceCheckUtils]: 0: Hoare triple {8496#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {8440#true} is VALID [2022-04-28 04:11:13,712 INFO L290 TraceCheckUtils]: 1: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,712 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {8440#true} {8440#true} #100#return; {8440#true} is VALID [2022-04-28 04:11:13,712 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:11:13,716 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,719 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:11:13,719 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,721 INFO L290 TraceCheckUtils]: 0: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,721 INFO L290 TraceCheckUtils]: 1: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,721 INFO L290 TraceCheckUtils]: 2: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,721 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8440#true} {8440#true} #116#return; {8440#true} is VALID [2022-04-28 04:11:13,721 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:13,722 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,724 INFO L290 TraceCheckUtils]: 0: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,724 INFO L290 TraceCheckUtils]: 1: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,724 INFO L290 TraceCheckUtils]: 2: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,724 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8440#true} {8440#true} #118#return; {8440#true} is VALID [2022-04-28 04:11:13,724 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:11:13,724 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L290 TraceCheckUtils]: 1: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8440#true} {8440#true} #120#return; {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L290 TraceCheckUtils]: 0: Hoare triple {8496#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L272 TraceCheckUtils]: 1: Hoare triple {8440#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L290 TraceCheckUtils]: 2: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L290 TraceCheckUtils]: 3: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L290 TraceCheckUtils]: 4: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {8440#true} {8440#true} #116#return; {8440#true} is VALID [2022-04-28 04:11:13,726 INFO L272 TraceCheckUtils]: 6: Hoare triple {8440#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L290 TraceCheckUtils]: 7: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L290 TraceCheckUtils]: 8: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L290 TraceCheckUtils]: 9: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8440#true} {8440#true} #118#return; {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L272 TraceCheckUtils]: 11: Hoare triple {8440#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L290 TraceCheckUtils]: 12: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L290 TraceCheckUtils]: 13: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L290 TraceCheckUtils]: 14: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8440#true} {8440#true} #120#return; {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L290 TraceCheckUtils]: 16: Hoare triple {8440#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L290 TraceCheckUtils]: 17: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {8440#true} {8440#true} #102#return; {8440#true} is VALID [2022-04-28 04:11:13,727 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:11:13,733 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,802 INFO L290 TraceCheckUtils]: 0: Hoare triple {8496#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,803 INFO L290 TraceCheckUtils]: 1: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,803 INFO L290 TraceCheckUtils]: 2: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,804 INFO L290 TraceCheckUtils]: 3: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,804 INFO L290 TraceCheckUtils]: 4: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,805 INFO L290 TraceCheckUtils]: 5: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,806 INFO L290 TraceCheckUtils]: 6: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,806 INFO L290 TraceCheckUtils]: 7: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,807 INFO L290 TraceCheckUtils]: 8: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !(~j~1 < ~n); {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,807 INFO L290 TraceCheckUtils]: 9: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,808 INFO L290 TraceCheckUtils]: 10: Hoare triple {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,809 INFO L290 TraceCheckUtils]: 11: Hoare triple {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,809 INFO L290 TraceCheckUtils]: 12: Hoare triple {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {8511#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} is VALID [2022-04-28 04:11:13,810 INFO L290 TraceCheckUtils]: 13: Hoare triple {8511#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} assume true; {8511#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} is VALID [2022-04-28 04:11:13,811 INFO L284 TraceCheckUtils]: 14: Hoare quadruple {8511#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} {8471#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {8487#(or (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} is VALID [2022-04-28 04:11:13,811 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 55 [2022-04-28 04:11:13,812 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:13,834 INFO L290 TraceCheckUtils]: 0: Hoare triple {8440#true} ~cond := #in~cond; {8512#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:11:13,835 INFO L290 TraceCheckUtils]: 1: Hoare triple {8512#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:13,835 INFO L290 TraceCheckUtils]: 2: Hoare triple {8513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:13,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8513#(not (= |__VERIFIER_assert_#in~cond| 0))} {8488#(or (= main_~r~0 0) (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #106#return; {8493#(<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} is VALID [2022-04-28 04:11:13,836 INFO L272 TraceCheckUtils]: 0: Hoare triple {8440#true} call ULTIMATE.init(); {8495#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:11:13,836 INFO L290 TraceCheckUtils]: 1: Hoare triple {8495#(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(10, 2);call #Ultimate.allocInit(12, 3); {8440#true} is VALID [2022-04-28 04:11:13,836 INFO L290 TraceCheckUtils]: 2: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,836 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {8440#true} {8440#true} #122#return; {8440#true} is VALID [2022-04-28 04:11:13,837 INFO L272 TraceCheckUtils]: 4: Hoare triple {8440#true} call #t~ret27 := main(); {8440#true} is VALID [2022-04-28 04:11:13,837 INFO L290 TraceCheckUtils]: 5: Hoare triple {8440#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {8440#true} is VALID [2022-04-28 04:11:13,837 INFO L272 TraceCheckUtils]: 6: Hoare triple {8440#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {8440#true} is VALID [2022-04-28 04:11:13,837 INFO L290 TraceCheckUtils]: 7: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,837 INFO L290 TraceCheckUtils]: 8: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,837 INFO L290 TraceCheckUtils]: 9: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,837 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {8440#true} {8440#true} #98#return; {8440#true} is VALID [2022-04-28 04:11:13,837 INFO L290 TraceCheckUtils]: 11: Hoare triple {8440#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {8440#true} is VALID [2022-04-28 04:11:13,838 INFO L272 TraceCheckUtils]: 12: Hoare triple {8440#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {8496#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:13,838 INFO L290 TraceCheckUtils]: 13: Hoare triple {8496#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {8440#true} is VALID [2022-04-28 04:11:13,838 INFO L290 TraceCheckUtils]: 14: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,838 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {8440#true} {8440#true} #100#return; {8440#true} is VALID [2022-04-28 04:11:13,838 INFO L290 TraceCheckUtils]: 16: Hoare triple {8440#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L272 TraceCheckUtils]: 17: Hoare triple {8440#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {8496#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:13,839 INFO L290 TraceCheckUtils]: 18: Hoare triple {8496#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L272 TraceCheckUtils]: 19: Hoare triple {8440#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L290 TraceCheckUtils]: 20: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L290 TraceCheckUtils]: 21: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L290 TraceCheckUtils]: 22: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {8440#true} {8440#true} #116#return; {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L272 TraceCheckUtils]: 24: Hoare triple {8440#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L290 TraceCheckUtils]: 25: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,839 INFO L290 TraceCheckUtils]: 26: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L290 TraceCheckUtils]: 27: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {8440#true} {8440#true} #118#return; {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L272 TraceCheckUtils]: 29: Hoare triple {8440#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L290 TraceCheckUtils]: 30: Hoare triple {8440#true} ~cond := #in~cond; {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L290 TraceCheckUtils]: 31: Hoare triple {8440#true} assume !(0 == ~cond); {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L290 TraceCheckUtils]: 32: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {8440#true} {8440#true} #120#return; {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L290 TraceCheckUtils]: 34: Hoare triple {8440#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L290 TraceCheckUtils]: 35: Hoare triple {8440#true} assume true; {8440#true} is VALID [2022-04-28 04:11:13,840 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {8440#true} {8440#true} #102#return; {8440#true} is VALID [2022-04-28 04:11:13,841 INFO L290 TraceCheckUtils]: 37: Hoare triple {8440#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {8471#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-28 04:11:13,842 INFO L272 TraceCheckUtils]: 38: Hoare triple {8471#(not (= |main_~#i~2.base| |main_~#j~2.base|))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {8496#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:13,842 INFO L290 TraceCheckUtils]: 39: Hoare triple {8496#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,843 INFO L290 TraceCheckUtils]: 40: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,843 INFO L290 TraceCheckUtils]: 41: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,844 INFO L290 TraceCheckUtils]: 42: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,844 INFO L290 TraceCheckUtils]: 43: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,845 INFO L290 TraceCheckUtils]: 44: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,845 INFO L290 TraceCheckUtils]: 45: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,846 INFO L290 TraceCheckUtils]: 46: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,846 INFO L290 TraceCheckUtils]: 47: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !(~j~1 < ~n); {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,847 INFO L290 TraceCheckUtils]: 48: Hoare triple {8509#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 0 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,847 INFO L290 TraceCheckUtils]: 49: Hoare triple {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,848 INFO L290 TraceCheckUtils]: 50: Hoare triple {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} is VALID [2022-04-28 04:11:13,848 INFO L290 TraceCheckUtils]: 51: Hoare triple {8510#(and (or (= finddup_~_i.base finddup_~_j.base) (= |finddup_#in~_i.base| finddup_~_i.base)) (<= 1 finddup_~i~1) (= |finddup_#in~_i.offset| finddup_~_i.offset) (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (not (= finddup_~_i.base finddup_~_j.base))))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {8511#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} is VALID [2022-04-28 04:11:13,849 INFO L290 TraceCheckUtils]: 52: Hoare triple {8511#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} assume true; {8511#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} is VALID [2022-04-28 04:11:13,850 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {8511#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (<= 1 (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|)))} {8471#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {8487#(or (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} is VALID [2022-04-28 04:11:13,850 INFO L290 TraceCheckUtils]: 54: Hoare triple {8487#(or (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_#t~ret14| 0))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {8488#(or (= main_~r~0 0) (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:13,850 INFO L272 TraceCheckUtils]: 55: Hoare triple {8488#(or (= main_~r~0 0) (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert(~r~0); {8440#true} is VALID [2022-04-28 04:11:13,851 INFO L290 TraceCheckUtils]: 56: Hoare triple {8440#true} ~cond := #in~cond; {8512#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:11:13,851 INFO L290 TraceCheckUtils]: 57: Hoare triple {8512#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {8513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:13,851 INFO L290 TraceCheckUtils]: 58: Hoare triple {8513#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {8513#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:13,852 INFO L284 TraceCheckUtils]: 59: Hoare quadruple {8513#(not (= |__VERIFIER_assert_#in~cond| 0))} {8488#(or (= main_~r~0 0) (<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #106#return; {8493#(<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} is VALID [2022-04-28 04:11:13,852 INFO L290 TraceCheckUtils]: 60: Hoare triple {8493#(<= 1 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {8494#|main_#t~short17|} is VALID [2022-04-28 04:11:13,852 INFO L290 TraceCheckUtils]: 61: Hoare triple {8494#|main_#t~short17|} assume !#t~short17; {8441#false} is VALID [2022-04-28 04:11:13,852 INFO L272 TraceCheckUtils]: 62: Hoare triple {8441#false} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {8441#false} is VALID [2022-04-28 04:11:13,853 INFO L290 TraceCheckUtils]: 63: Hoare triple {8441#false} ~cond := #in~cond; {8441#false} is VALID [2022-04-28 04:11:13,853 INFO L290 TraceCheckUtils]: 64: Hoare triple {8441#false} assume 0 == ~cond; {8441#false} is VALID [2022-04-28 04:11:13,853 INFO L290 TraceCheckUtils]: 65: Hoare triple {8441#false} assume !false; {8441#false} is VALID [2022-04-28 04:11:13,853 INFO L134 CoverageAnalysis]: Checked inductivity of 37 backedges. 8 proven. 0 refuted. 0 times theorem prover too weak. 29 trivial. 0 not checked. [2022-04-28 04:11:13,853 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:11:13,853 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1559347616] [2022-04-28 04:11:13,853 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1559347616] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:13,853 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:13,853 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:11:13,854 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:11:13,854 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [740523027] [2022-04-28 04:11:13,854 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [740523027] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:13,854 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:13,854 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [14] imperfect sequences [] total 14 [2022-04-28 04:11:13,854 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [933472566] [2022-04-28 04:11:13,854 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:11:13,854 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-28 04:11:13,854 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:11:13,854 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:11:13,891 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-28 04:11:13,892 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 14 states [2022-04-28 04:11:13,892 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:13,892 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 14 interpolants. [2022-04-28 04:11:13,892 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=28, Invalid=154, Unknown=0, NotChecked=0, Total=182 [2022-04-28 04:11:13,892 INFO L87 Difference]: Start difference. First operand 100 states and 120 transitions. Second operand has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:11:15,549 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:15,549 INFO L93 Difference]: Finished difference Result 126 states and 149 transitions. [2022-04-28 04:11:15,549 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 15 states. [2022-04-28 04:11:15,550 INFO L78 Accepts]: Start accepts. Automaton has has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) Word has length 66 [2022-04-28 04:11:15,550 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:11:15,550 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:11:15,551 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-28 04:11:15,551 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:11:15,552 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 15 states to 15 states and 109 transitions. [2022-04-28 04:11:15,552 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 15 states and 109 transitions. [2022-04-28 04:11:15,650 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 109 edges. 109 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:15,651 INFO L225 Difference]: With dead ends: 126 [2022-04-28 04:11:15,651 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 04:11:15,652 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 40 GetRequests, 17 SyntacticMatches, 0 SemanticMatches, 23 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 70 ImplicationChecksByTransitivity, 0.2s TimeCoverageRelationStatistics Valid=102, Invalid=498, Unknown=0, NotChecked=0, Total=600 [2022-04-28 04:11:15,652 INFO L413 NwaCegarLoop]: 49 mSDtfsCounter, 89 mSDsluCounter, 16 mSDsCounter, 0 mSdLazyCounter, 730 mSolverCounterSat, 83 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.6s Time, 0 mProtectedPredicate, 0 mProtectedAction, 90 SdHoareTripleChecker+Valid, 65 SdHoareTripleChecker+Invalid, 813 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 83 IncrementalHoareTripleChecker+Valid, 730 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.7s IncrementalHoareTripleChecker+Time [2022-04-28 04:11:15,652 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [90 Valid, 65 Invalid, 813 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [83 Valid, 730 Invalid, 0 Unknown, 0 Unchecked, 0.7s Time] [2022-04-28 04:11:15,652 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 04:11:15,839 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 90. [2022-04-28 04:11:15,839 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:11:15,839 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 90 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 64 states have internal predecessors, (72), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 04:11:15,839 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 90 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 64 states have internal predecessors, (72), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 04:11:15,840 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 90 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 64 states have internal predecessors, (72), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 04:11:15,841 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:15,842 INFO L93 Difference]: Finished difference Result 108 states and 129 transitions. [2022-04-28 04:11:15,842 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 129 transitions. [2022-04-28 04:11:15,842 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:15,842 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:15,842 INFO L74 IsIncluded]: Start isIncluded. First operand has 90 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 64 states have internal predecessors, (72), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) Second operand 108 states. [2022-04-28 04:11:15,842 INFO L87 Difference]: Start difference. First operand has 90 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 64 states have internal predecessors, (72), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) Second operand 108 states. [2022-04-28 04:11:15,844 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:15,844 INFO L93 Difference]: Finished difference Result 108 states and 129 transitions. [2022-04-28 04:11:15,844 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 129 transitions. [2022-04-28 04:11:15,844 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:15,844 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:15,844 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:11:15,844 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:11:15,845 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 90 states, 62 states have (on average 1.1612903225806452) internal successors, (72), 64 states have internal predecessors, (72), 17 states have call successors, (17), 10 states have call predecessors, (17), 10 states have return successors, (16), 15 states have call predecessors, (16), 15 states have call successors, (16) [2022-04-28 04:11:15,846 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 90 states to 90 states and 105 transitions. [2022-04-28 04:11:15,846 INFO L78 Accepts]: Start accepts. Automaton has 90 states and 105 transitions. Word has length 66 [2022-04-28 04:11:15,846 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:11:15,846 INFO L495 AbstractCegarLoop]: Abstraction has 90 states and 105 transitions. [2022-04-28 04:11:15,846 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 14 states, 12 states have (on average 2.8333333333333335) internal successors, (34), 10 states have internal predecessors, (34), 4 states have call successors, (11), 4 states have call predecessors, (11), 3 states have return successors, (9), 3 states have call predecessors, (9), 3 states have call successors, (9) [2022-04-28 04:11:15,846 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 90 states and 105 transitions. [2022-04-28 04:11:15,988 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 105 edges. 105 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:15,988 INFO L276 IsEmpty]: Start isEmpty. Operand 90 states and 105 transitions. [2022-04-28 04:11:15,989 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 71 [2022-04-28 04:11:15,989 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:11:15,989 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:11:15,989 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable11 [2022-04-28 04:11:15,989 INFO L420 AbstractCegarLoop]: === Iteration 13 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:11:15,989 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:11:15,989 INFO L85 PathProgramCache]: Analyzing trace with hash 297933182, now seen corresponding path program 1 times [2022-04-28 04:11:15,989 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:15,989 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1063552983] [2022-04-28 04:11:15,990 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:11:15,990 INFO L85 PathProgramCache]: Analyzing trace with hash 297933182, now seen corresponding path program 2 times [2022-04-28 04:11:15,990 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:11:15,990 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [94968027] [2022-04-28 04:11:15,990 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:11:15,990 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:11:16,019 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,114 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:11:16,115 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,117 INFO L290 TraceCheckUtils]: 0: Hoare triple {9244#(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(10, 2);call #Ultimate.allocInit(12, 3); {9187#true} is VALID [2022-04-28 04:11:16,118 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,118 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9187#true} {9187#true} #122#return; {9187#true} is VALID [2022-04-28 04:11:16,118 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:16,118 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,120 INFO L290 TraceCheckUtils]: 0: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,120 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,120 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,121 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9187#true} #98#return; {9187#true} is VALID [2022-04-28 04:11:16,129 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:11:16,129 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,131 INFO L290 TraceCheckUtils]: 0: Hoare triple {9245#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {9187#true} is VALID [2022-04-28 04:11:16,131 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,131 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {9187#true} {9187#true} #100#return; {9187#true} is VALID [2022-04-28 04:11:16,131 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:11:16,135 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,138 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:11:16,139 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,141 INFO L290 TraceCheckUtils]: 0: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,141 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,141 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,141 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9187#true} #116#return; {9187#true} is VALID [2022-04-28 04:11:16,141 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:16,141 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,143 INFO L290 TraceCheckUtils]: 0: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,143 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,143 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,143 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9187#true} #118#return; {9187#true} is VALID [2022-04-28 04:11:16,143 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:11:16,144 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,145 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,145 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,145 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9187#true} #120#return; {9187#true} is VALID [2022-04-28 04:11:16,145 INFO L290 TraceCheckUtils]: 0: Hoare triple {9245#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {9187#true} is VALID [2022-04-28 04:11:16,145 INFO L272 TraceCheckUtils]: 1: Hoare triple {9187#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 3: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 4: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9187#true} {9187#true} #116#return; {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L272 TraceCheckUtils]: 6: Hoare triple {9187#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 7: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 8: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 9: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9187#true} {9187#true} #118#return; {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L272 TraceCheckUtils]: 11: Hoare triple {9187#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 12: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 13: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L290 TraceCheckUtils]: 14: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,146 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9187#true} {9187#true} #120#return; {9187#true} is VALID [2022-04-28 04:11:16,147 INFO L290 TraceCheckUtils]: 16: Hoare triple {9187#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {9187#true} is VALID [2022-04-28 04:11:16,147 INFO L290 TraceCheckUtils]: 17: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,147 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {9187#true} {9187#true} #102#return; {9187#true} is VALID [2022-04-28 04:11:16,147 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:11:16,149 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,236 INFO L290 TraceCheckUtils]: 0: Hoare triple {9245#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {9258#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:16,236 INFO L290 TraceCheckUtils]: 1: Hoare triple {9258#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {9259#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:16,237 INFO L290 TraceCheckUtils]: 2: Hoare triple {9259#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {9259#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:16,237 INFO L290 TraceCheckUtils]: 3: Hoare triple {9259#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {9260#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-28 04:11:16,238 INFO L290 TraceCheckUtils]: 4: Hoare triple {9260#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} assume true; {9260#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-28 04:11:16,239 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {9260#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} {9218#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {9225#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-28 04:11:16,240 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 04:11:16,240 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,253 INFO L290 TraceCheckUtils]: 0: Hoare triple {9187#true} ~cond := #in~cond; {9261#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:11:16,253 INFO L290 TraceCheckUtils]: 1: Hoare triple {9261#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:16,253 INFO L290 TraceCheckUtils]: 2: Hoare triple {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:16,254 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} {9226#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} #106#return; {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,254 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-04-28 04:11:16,255 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,265 INFO L290 TraceCheckUtils]: 0: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,265 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,265 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,266 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #108#return; {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,266 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 60 [2022-04-28 04:11:16,267 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,269 INFO L290 TraceCheckUtils]: 0: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,269 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,270 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,270 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #110#return; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,271 INFO L272 TraceCheckUtils]: 0: Hoare triple {9187#true} call ULTIMATE.init(); {9244#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:11:16,271 INFO L290 TraceCheckUtils]: 1: Hoare triple {9244#(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(10, 2);call #Ultimate.allocInit(12, 3); {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9187#true} #122#return; {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L272 TraceCheckUtils]: 4: Hoare triple {9187#true} call #t~ret27 := main(); {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L290 TraceCheckUtils]: 5: Hoare triple {9187#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L272 TraceCheckUtils]: 6: Hoare triple {9187#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L290 TraceCheckUtils]: 7: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L290 TraceCheckUtils]: 8: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L290 TraceCheckUtils]: 9: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9187#true} {9187#true} #98#return; {9187#true} is VALID [2022-04-28 04:11:16,271 INFO L290 TraceCheckUtils]: 11: Hoare triple {9187#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {9187#true} is VALID [2022-04-28 04:11:16,272 INFO L272 TraceCheckUtils]: 12: Hoare triple {9187#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {9245#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:16,272 INFO L290 TraceCheckUtils]: 13: Hoare triple {9245#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {9187#true} is VALID [2022-04-28 04:11:16,272 INFO L290 TraceCheckUtils]: 14: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,272 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9187#true} {9187#true} #100#return; {9187#true} is VALID [2022-04-28 04:11:16,272 INFO L290 TraceCheckUtils]: 16: Hoare triple {9187#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {9187#true} is VALID [2022-04-28 04:11:16,273 INFO L272 TraceCheckUtils]: 17: Hoare triple {9187#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {9245#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:16,273 INFO L290 TraceCheckUtils]: 18: Hoare triple {9245#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {9187#true} is VALID [2022-04-28 04:11:16,273 INFO L272 TraceCheckUtils]: 19: Hoare triple {9187#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,273 INFO L290 TraceCheckUtils]: 20: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,273 INFO L290 TraceCheckUtils]: 21: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,273 INFO L290 TraceCheckUtils]: 22: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,273 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9187#true} {9187#true} #116#return; {9187#true} is VALID [2022-04-28 04:11:16,273 INFO L272 TraceCheckUtils]: 24: Hoare triple {9187#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L290 TraceCheckUtils]: 25: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L290 TraceCheckUtils]: 26: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L290 TraceCheckUtils]: 27: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9187#true} {9187#true} #118#return; {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L272 TraceCheckUtils]: 29: Hoare triple {9187#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L290 TraceCheckUtils]: 30: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L290 TraceCheckUtils]: 31: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L290 TraceCheckUtils]: 32: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9187#true} {9187#true} #120#return; {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L290 TraceCheckUtils]: 34: Hoare triple {9187#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L290 TraceCheckUtils]: 35: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,274 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9187#true} {9187#true} #102#return; {9187#true} is VALID [2022-04-28 04:11:16,275 INFO L290 TraceCheckUtils]: 37: Hoare triple {9187#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {9218#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-28 04:11:16,276 INFO L272 TraceCheckUtils]: 38: Hoare triple {9218#(not (= |main_~#i~2.base| |main_~#j~2.base|))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {9245#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:16,276 INFO L290 TraceCheckUtils]: 39: Hoare triple {9245#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {9258#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:16,277 INFO L290 TraceCheckUtils]: 40: Hoare triple {9258#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {9259#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:16,277 INFO L290 TraceCheckUtils]: 41: Hoare triple {9259#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {9259#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:16,278 INFO L290 TraceCheckUtils]: 42: Hoare triple {9259#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {9260#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-28 04:11:16,278 INFO L290 TraceCheckUtils]: 43: Hoare triple {9260#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} assume true; {9260#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-28 04:11:16,279 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9260#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 1 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} {9218#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {9225#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-28 04:11:16,280 INFO L290 TraceCheckUtils]: 45: Hoare triple {9225#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {9226#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-28 04:11:16,280 INFO L272 TraceCheckUtils]: 46: Hoare triple {9226#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} call __VERIFIER_assert(~r~0); {9187#true} is VALID [2022-04-28 04:11:16,280 INFO L290 TraceCheckUtils]: 47: Hoare triple {9187#true} ~cond := #in~cond; {9261#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:11:16,281 INFO L290 TraceCheckUtils]: 48: Hoare triple {9261#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:16,281 INFO L290 TraceCheckUtils]: 49: Hoare triple {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:16,282 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} {9226#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} #106#return; {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,282 INFO L290 TraceCheckUtils]: 51: Hoare triple {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,283 INFO L290 TraceCheckUtils]: 52: Hoare triple {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,283 INFO L272 TraceCheckUtils]: 53: Hoare triple {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,283 INFO L290 TraceCheckUtils]: 54: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,283 INFO L290 TraceCheckUtils]: 55: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,283 INFO L290 TraceCheckUtils]: 56: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,283 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {9187#true} {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #108#return; {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,284 INFO L290 TraceCheckUtils]: 58: Hoare triple {9231#(and (<= 1 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,284 INFO L290 TraceCheckUtils]: 59: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,284 INFO L272 TraceCheckUtils]: 60: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:16,284 INFO L290 TraceCheckUtils]: 61: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:16,284 INFO L290 TraceCheckUtils]: 62: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:16,285 INFO L290 TraceCheckUtils]: 63: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:16,285 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {9187#true} {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #110#return; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:16,285 INFO L290 TraceCheckUtils]: 65: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} havoc #t~mem18;havoc #t~mem19;havoc #t~short20;call #t~mem21 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem22 := read~int(~#j~2.base, ~#j~2.offset, 4); {9241#(not (= |main_#t~mem22| |main_#t~mem21|))} is VALID [2022-04-28 04:11:16,286 INFO L272 TraceCheckUtils]: 66: Hoare triple {9241#(not (= |main_#t~mem22| |main_#t~mem21|))} call __VERIFIER_assert((if #t~mem21 != #t~mem22 then 1 else 0)); {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:11:16,286 INFO L290 TraceCheckUtils]: 67: Hoare triple {9242#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {9243#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:11:16,287 INFO L290 TraceCheckUtils]: 68: Hoare triple {9243#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {9188#false} is VALID [2022-04-28 04:11:16,287 INFO L290 TraceCheckUtils]: 69: Hoare triple {9188#false} assume !false; {9188#false} is VALID [2022-04-28 04:11:16,287 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 5 proven. 7 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 04:11:16,287 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:11:16,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [94968027] [2022-04-28 04:11:16,287 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [94968027] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:11:16,287 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [889017395] [2022-04-28 04:11:16,287 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:11:16,287 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:11:16,288 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:11:16,288 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-28 04:11:16,289 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-28 04:11:16,362 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:11:16,362 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:11:16,363 INFO L263 TraceCheckSpWp]: Trace formula consists of 288 conjuncts, 44 conjunts are in the unsatisfiable core [2022-04-28 04:11:16,375 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:16,378 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:11:16,457 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-04-28 04:11:16,562 INFO L356 Elim1Store]: treesize reduction 13, result has 58.1 percent of original size [2022-04-28 04:11:16,562 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 3 new quantified variables, introduced 2 case distinctions, treesize of input 46 treesize of output 54 [2022-04-28 04:11:16,586 INFO L356 Elim1Store]: treesize reduction 35, result has 34.0 percent of original size [2022-04-28 04:11:16,587 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 2 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 4 new quantified variables, introduced 3 case distinctions, treesize of input 46 treesize of output 71 [2022-04-28 04:11:16,592 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2022-04-28 04:11:16,614 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 0 case distinctions, treesize of input 17 treesize of output 6 [2022-04-28 04:11:16,706 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 18 treesize of output 14 [2022-04-28 04:11:16,739 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 10 [2022-04-28 04:11:16,777 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 7 [2022-04-28 04:11:18,206 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-04-28 04:11:18,207 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 44 treesize of output 28 [2022-04-28 04:11:18,213 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 24 treesize of output 20 [2022-04-28 04:11:18,275 INFO L272 TraceCheckUtils]: 0: Hoare triple {9187#true} call ULTIMATE.init(); {9187#true} is VALID [2022-04-28 04:11:18,275 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#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(10, 2);call #Ultimate.allocInit(12, 3); {9187#true} is VALID [2022-04-28 04:11:18,275 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:18,275 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9187#true} #122#return; {9187#true} is VALID [2022-04-28 04:11:18,275 INFO L272 TraceCheckUtils]: 4: Hoare triple {9187#true} call #t~ret27 := main(); {9187#true} is VALID [2022-04-28 04:11:18,275 INFO L290 TraceCheckUtils]: 5: Hoare triple {9187#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {9187#true} is VALID [2022-04-28 04:11:18,275 INFO L272 TraceCheckUtils]: 6: Hoare triple {9187#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:18,275 INFO L290 TraceCheckUtils]: 7: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:18,275 INFO L290 TraceCheckUtils]: 8: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L290 TraceCheckUtils]: 9: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9187#true} {9187#true} #98#return; {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L290 TraceCheckUtils]: 11: Hoare triple {9187#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L272 TraceCheckUtils]: 12: Hoare triple {9187#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L290 TraceCheckUtils]: 13: Hoare triple {9187#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L290 TraceCheckUtils]: 14: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9187#true} {9187#true} #100#return; {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L290 TraceCheckUtils]: 16: Hoare triple {9187#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L272 TraceCheckUtils]: 17: Hoare triple {9187#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L290 TraceCheckUtils]: 18: Hoare triple {9187#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L272 TraceCheckUtils]: 19: Hoare triple {9187#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L290 TraceCheckUtils]: 20: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:18,276 INFO L290 TraceCheckUtils]: 21: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 22: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9187#true} {9187#true} #116#return; {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L272 TraceCheckUtils]: 24: Hoare triple {9187#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 25: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 26: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 27: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9187#true} {9187#true} #118#return; {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L272 TraceCheckUtils]: 29: Hoare triple {9187#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 30: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 31: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 32: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9187#true} {9187#true} #120#return; {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 34: Hoare triple {9187#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {9187#true} is VALID [2022-04-28 04:11:18,277 INFO L290 TraceCheckUtils]: 35: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:18,278 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9187#true} {9187#true} #102#return; {9187#true} is VALID [2022-04-28 04:11:18,281 INFO L290 TraceCheckUtils]: 37: Hoare triple {9187#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {9376#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-28 04:11:18,281 INFO L272 TraceCheckUtils]: 38: Hoare triple {9376#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {9187#true} is VALID [2022-04-28 04:11:18,282 INFO L290 TraceCheckUtils]: 39: Hoare triple {9187#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {9258#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:18,282 INFO L290 TraceCheckUtils]: 40: Hoare triple {9258#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {9386#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:18,283 INFO L290 TraceCheckUtils]: 41: Hoare triple {9386#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {9386#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:11:18,283 INFO L290 TraceCheckUtils]: 42: Hoare triple {9386#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {9393#(or (and (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)) (and (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |finddup_#in~_j.offset|) 1) (= (select (select (store |#memory_int| |finddup_#in~_j.base| v_DerPreprocessor_1) |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)))} is VALID [2022-04-28 04:11:18,284 INFO L290 TraceCheckUtils]: 43: Hoare triple {9393#(or (and (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)) (and (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |finddup_#in~_j.offset|) 1) (= (select (select (store |#memory_int| |finddup_#in~_j.base| v_DerPreprocessor_1) |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)))} assume true; {9393#(or (and (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)) (and (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |finddup_#in~_j.offset|) 1) (= (select (select (store |#memory_int| |finddup_#in~_j.base| v_DerPreprocessor_1) |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)))} is VALID [2022-04-28 04:11:18,285 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9393#(or (and (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)) (and (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |finddup_#in~_j.offset|) 1) (= (select (select (store |#memory_int| |finddup_#in~_j.base| v_DerPreprocessor_1) |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0))) (= (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 1)))} {9376#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} #104#return; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,286 INFO L290 TraceCheckUtils]: 45: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,295 INFO L272 TraceCheckUtils]: 46: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} call __VERIFIER_assert(~r~0); {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,296 INFO L290 TraceCheckUtils]: 47: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} ~cond := #in~cond; {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,296 INFO L290 TraceCheckUtils]: 48: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} assume !(0 == ~cond); {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,297 INFO L290 TraceCheckUtils]: 49: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} assume true; {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,298 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} #106#return; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,302 INFO L290 TraceCheckUtils]: 51: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,303 INFO L290 TraceCheckUtils]: 52: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,306 INFO L272 TraceCheckUtils]: 53: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,308 INFO L290 TraceCheckUtils]: 54: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} ~cond := #in~cond; {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,309 INFO L290 TraceCheckUtils]: 55: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} assume !(0 == ~cond); {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,309 INFO L290 TraceCheckUtils]: 56: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} assume true; {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,310 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} #108#return; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,311 INFO L290 TraceCheckUtils]: 58: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,312 INFO L290 TraceCheckUtils]: 59: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,313 INFO L272 TraceCheckUtils]: 60: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,314 INFO L290 TraceCheckUtils]: 61: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} ~cond := #in~cond; {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,315 INFO L290 TraceCheckUtils]: 62: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} assume !(0 == ~cond); {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,315 INFO L290 TraceCheckUtils]: 63: Hoare triple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} assume true; {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} is VALID [2022-04-28 04:11:18,316 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {9407#(exists ((v_DerPreprocessor_1 (Array Int Int)) (|v_main_~#i~2.base_BEFORE_CALL_4| Int) (|v_main_~#j~2.base_BEFORE_CALL_3| Int)) (and (= (select (select (store |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3| v_DerPreprocessor_1) |v_main_~#i~2.base_BEFORE_CALL_4|) 0) 0) (= (select v_DerPreprocessor_1 0) 1) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_3|) 0) 1)))} {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} #110#return; {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:11:18,316 INFO L290 TraceCheckUtils]: 65: Hoare triple {9400#(and (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= |main_~#j~2.offset| 0) (exists ((v_DerPreprocessor_1 (Array Int Int))) (and (= (select v_DerPreprocessor_1 |main_~#j~2.offset|) 1) (= (select (select (store |#memory_int| |main_~#j~2.base| v_DerPreprocessor_1) |main_~#i~2.base|) |main_~#i~2.offset|) 0))) (= |main_~#i~2.offset| 0))} havoc #t~mem18;havoc #t~mem19;havoc #t~short20;call #t~mem21 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem22 := read~int(~#j~2.base, ~#j~2.offset, 4); {9465#(and (= |main_#t~mem22| 1) (= |main_#t~mem21| 0))} is VALID [2022-04-28 04:11:18,317 INFO L272 TraceCheckUtils]: 66: Hoare triple {9465#(and (= |main_#t~mem22| 1) (= |main_#t~mem21| 0))} call __VERIFIER_assert((if #t~mem21 != #t~mem22 then 1 else 0)); {9469#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:11:18,317 INFO L290 TraceCheckUtils]: 67: Hoare triple {9469#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9473#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:11:18,318 INFO L290 TraceCheckUtils]: 68: Hoare triple {9473#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9188#false} is VALID [2022-04-28 04:11:18,318 INFO L290 TraceCheckUtils]: 69: Hoare triple {9188#false} assume !false; {9188#false} is VALID [2022-04-28 04:11:18,318 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 0 proven. 6 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 04:11:18,318 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:11:18,538 INFO L356 Elim1Store]: treesize reduction 28, result has 33.3 percent of original size [2022-04-28 04:11:18,539 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 3 new quantified variables, introduced 4 case distinctions, treesize of input 56 treesize of output 52 [2022-04-28 04:11:18,545 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 04:11:18,545 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 2 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 2 case distinctions, treesize of input 48 treesize of output 66 [2022-04-28 04:11:18,549 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 04:11:18,549 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 1 case distinctions, treesize of input 35 treesize of output 39 [2022-04-28 04:11:18,557 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 83 treesize of output 75 [2022-04-28 04:11:18,575 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 81 treesize of output 75 [2022-04-28 04:11:18,588 INFO L356 Elim1Store]: treesize reduction 7, result has 12.5 percent of original size [2022-04-28 04:11:18,589 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 13 treesize of output 9 [2022-04-28 04:11:18,661 INFO L356 Elim1Store]: treesize reduction 13, result has 69.0 percent of original size [2022-04-28 04:11:18,662 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 3 new quantified variables, introduced 4 case distinctions, treesize of input 94 treesize of output 87 [2022-04-28 04:11:18,701 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 04:11:18,701 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 4 select indices, 4 select index equivalence classes, 1 disjoint index pairs (out of 6 index pairs), introduced 4 new quantified variables, introduced 5 case distinctions, treesize of input 195 treesize of output 215 [2022-04-28 04:11:18,724 INFO L356 Elim1Store]: treesize reduction 0, result has 100.0 percent of original size [2022-04-28 04:11:18,726 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 219 treesize of output 216 [2022-04-28 04:11:18,836 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 6 [2022-04-28 04:11:18,843 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 4 [2022-04-28 04:11:18,852 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 4 [2022-04-28 04:11:18,865 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 9 [2022-04-28 04:11:18,872 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 8 treesize of output 6 [2022-04-28 04:11:19,051 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 9 [2022-04-28 04:11:19,078 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 11 treesize of output 9 [2022-04-28 04:11:19,112 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 4 [2022-04-28 04:11:19,156 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 28 [2022-04-28 04:11:19,171 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 30 treesize of output 28 [2022-04-28 04:11:19,237 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 18 [2022-04-28 04:11:19,249 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 20 treesize of output 18 [2022-04-28 04:11:19,268 WARN L234 Elim1Store]: Array PQE input equivalent to true [2022-04-28 04:11:19,531 INFO L290 TraceCheckUtils]: 69: Hoare triple {9188#false} assume !false; {9188#false} is VALID [2022-04-28 04:11:19,534 INFO L290 TraceCheckUtils]: 68: Hoare triple {9473#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {9188#false} is VALID [2022-04-28 04:11:19,534 INFO L290 TraceCheckUtils]: 67: Hoare triple {9469#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {9473#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:11:19,535 INFO L272 TraceCheckUtils]: 66: Hoare triple {9241#(not (= |main_#t~mem22| |main_#t~mem21|))} call __VERIFIER_assert((if #t~mem21 != #t~mem22 then 1 else 0)); {9469#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:11:19,535 INFO L290 TraceCheckUtils]: 65: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} havoc #t~mem18;havoc #t~mem19;havoc #t~short20;call #t~mem21 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem22 := read~int(~#j~2.base, ~#j~2.offset, 4); {9241#(not (= |main_#t~mem22| |main_#t~mem21|))} is VALID [2022-04-28 04:11:19,536 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {9187#true} {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #110#return; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,536 INFO L290 TraceCheckUtils]: 63: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,536 INFO L290 TraceCheckUtils]: 62: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:19,536 INFO L290 TraceCheckUtils]: 61: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:19,536 INFO L272 TraceCheckUtils]: 60: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:19,536 INFO L290 TraceCheckUtils]: 59: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,537 INFO L290 TraceCheckUtils]: 58: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,537 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {9187#true} {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #108#return; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,537 INFO L290 TraceCheckUtils]: 56: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,537 INFO L290 TraceCheckUtils]: 55: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:19,537 INFO L290 TraceCheckUtils]: 54: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:19,538 INFO L272 TraceCheckUtils]: 53: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:19,538 INFO L290 TraceCheckUtils]: 52: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,538 INFO L290 TraceCheckUtils]: 51: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,539 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {9187#true} {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #106#return; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,539 INFO L290 TraceCheckUtils]: 49: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,539 INFO L290 TraceCheckUtils]: 48: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:19,539 INFO L290 TraceCheckUtils]: 47: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:19,539 INFO L272 TraceCheckUtils]: 46: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert(~r~0); {9187#true} is VALID [2022-04-28 04:11:19,539 INFO L290 TraceCheckUtils]: 45: Hoare triple {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,540 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {9558#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} {9218#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {9236#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:11:19,541 INFO L290 TraceCheckUtils]: 43: Hoare triple {9558#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} assume true; {9558#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} is VALID [2022-04-28 04:11:19,542 INFO L290 TraceCheckUtils]: 42: Hoare triple {9565#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (not (= |finddup_#in~_j.base| finddup_~_j.base)) (= |finddup_#in~_i.base| finddup_~_i.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1)) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base)))))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {9558#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (= |finddup_#in~_i.base| |finddup_#in~_j.base|))} is VALID [2022-04-28 04:11:19,542 INFO L290 TraceCheckUtils]: 41: Hoare triple {9565#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (not (= |finddup_#in~_j.base| finddup_~_j.base)) (= |finddup_#in~_i.base| finddup_~_i.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1)) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base)))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {9565#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (not (= |finddup_#in~_j.base| finddup_~_j.base)) (= |finddup_#in~_i.base| finddup_~_i.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1)) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base)))))} is VALID [2022-04-28 04:11:19,543 INFO L290 TraceCheckUtils]: 40: Hoare triple {9572#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (not (= |finddup_#in~_j.base| finddup_~_j.base)) (= |finddup_#in~_i.base| finddup_~_i.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base))) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)) (= |finddup_#in~_j.base| finddup_~_j.base))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {9565#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (not (= |finddup_#in~_j.base| finddup_~_j.base)) (= |finddup_#in~_i.base| finddup_~_i.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1)) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base)))))} is VALID [2022-04-28 04:11:19,543 INFO L290 TraceCheckUtils]: 39: Hoare triple {9187#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {9572#(or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (and (or (not (= |finddup_#in~_j.base| finddup_~_j.base)) (= |finddup_#in~_i.base| finddup_~_i.base)) (or (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_j.base| finddup_~_j.base)) (or (and (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_j.base| finddup_~_j.base))) (or (and (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)) (= |finddup_#in~_j.base| finddup_~_j.base))))} is VALID [2022-04-28 04:11:19,544 INFO L272 TraceCheckUtils]: 38: Hoare triple {9218#(not (= |main_~#i~2.base| |main_~#j~2.base|))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {9187#true} is VALID [2022-04-28 04:11:19,544 INFO L290 TraceCheckUtils]: 37: Hoare triple {9187#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {9218#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-28 04:11:19,544 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {9187#true} {9187#true} #102#return; {9187#true} is VALID [2022-04-28 04:11:19,544 INFO L290 TraceCheckUtils]: 35: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,544 INFO L290 TraceCheckUtils]: 34: Hoare triple {9187#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {9187#true} is VALID [2022-04-28 04:11:19,544 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {9187#true} {9187#true} #120#return; {9187#true} is VALID [2022-04-28 04:11:19,544 INFO L290 TraceCheckUtils]: 32: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,544 INFO L290 TraceCheckUtils]: 31: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:19,544 INFO L290 TraceCheckUtils]: 30: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L272 TraceCheckUtils]: 29: Hoare triple {9187#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {9187#true} {9187#true} #118#return; {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L290 TraceCheckUtils]: 27: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L290 TraceCheckUtils]: 26: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L290 TraceCheckUtils]: 25: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L272 TraceCheckUtils]: 24: Hoare triple {9187#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {9187#true} {9187#true} #116#return; {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L290 TraceCheckUtils]: 22: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L290 TraceCheckUtils]: 21: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L290 TraceCheckUtils]: 20: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L272 TraceCheckUtils]: 19: Hoare triple {9187#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L290 TraceCheckUtils]: 18: Hoare triple {9187#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L272 TraceCheckUtils]: 17: Hoare triple {9187#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {9187#true} is VALID [2022-04-28 04:11:19,545 INFO L290 TraceCheckUtils]: 16: Hoare triple {9187#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {9187#true} {9187#true} #100#return; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 14: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 13: Hoare triple {9187#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L272 TraceCheckUtils]: 12: Hoare triple {9187#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 11: Hoare triple {9187#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {9187#true} {9187#true} #98#return; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 9: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 8: Hoare triple {9187#true} assume !(0 == ~cond); {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 7: Hoare triple {9187#true} ~cond := #in~cond; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L272 TraceCheckUtils]: 6: Hoare triple {9187#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 5: Hoare triple {9187#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L272 TraceCheckUtils]: 4: Hoare triple {9187#true} call #t~ret27 := main(); {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {9187#true} {9187#true} #122#return; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {9187#true} assume true; {9187#true} is VALID [2022-04-28 04:11:19,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {9187#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(10, 2);call #Ultimate.allocInit(12, 3); {9187#true} is VALID [2022-04-28 04:11:19,547 INFO L272 TraceCheckUtils]: 0: Hoare triple {9187#true} call ULTIMATE.init(); {9187#true} is VALID [2022-04-28 04:11:19,547 INFO L134 CoverageAnalysis]: Checked inductivity of 42 backedges. 6 proven. 0 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 04:11:19,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [889017395] provided 1 perfect and 1 imperfect interpolant sequences [2022-04-28 04:11:19,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:11:19,547 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [16, 11] total 27 [2022-04-28 04:11:19,547 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:11:19,547 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1063552983] [2022-04-28 04:11:19,547 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1063552983] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:19,547 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:19,548 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [10] imperfect sequences [] total 10 [2022-04-28 04:11:19,548 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [1620237411] [2022-04-28 04:11:19,548 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:11:19,548 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) Word has length 70 [2022-04-28 04:11:19,548 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:11:19,548 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 04:11:19,585 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 55 edges. 55 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:19,585 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 10 states [2022-04-28 04:11:19,586 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:19,586 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 10 interpolants. [2022-04-28 04:11:19,586 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=77, Invalid=621, Unknown=4, NotChecked=0, Total=702 [2022-04-28 04:11:19,586 INFO L87 Difference]: Start difference. First operand 90 states and 105 transitions. Second operand has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 04:11:20,377 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:20,378 INFO L93 Difference]: Finished difference Result 110 states and 128 transitions. [2022-04-28 04:11:20,378 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 10 states. [2022-04-28 04:11:20,378 INFO L78 Accepts]: Start accepts. Automaton has has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) Word has length 70 [2022-04-28 04:11:20,378 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:11:20,378 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 04:11:20,379 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-28 04:11:20,379 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 04:11:20,380 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 10 states to 10 states and 94 transitions. [2022-04-28 04:11:20,380 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 10 states and 94 transitions. [2022-04-28 04:11:20,461 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 94 edges. 94 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:20,463 INFO L225 Difference]: With dead ends: 110 [2022-04-28 04:11:20,463 INFO L226 Difference]: Without dead ends: 108 [2022-04-28 04:11:20,463 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 178 GetRequests, 143 SyntacticMatches, 6 SemanticMatches, 29 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 188 ImplicationChecksByTransitivity, 0.5s TimeCoverageRelationStatistics Valid=99, Invalid=827, Unknown=4, NotChecked=0, Total=930 [2022-04-28 04:11:20,464 INFO L413 NwaCegarLoop]: 59 mSDtfsCounter, 39 mSDsluCounter, 347 mSDsCounter, 0 mSdLazyCounter, 154 mSolverCounterSat, 9 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.1s Time, 0 mProtectedPredicate, 0 mProtectedAction, 45 SdHoareTripleChecker+Valid, 406 SdHoareTripleChecker+Invalid, 163 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 9 IncrementalHoareTripleChecker+Valid, 154 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.1s IncrementalHoareTripleChecker+Time [2022-04-28 04:11:20,464 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [45 Valid, 406 Invalid, 163 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [9 Valid, 154 Invalid, 0 Unknown, 0 Unchecked, 0.1s Time] [2022-04-28 04:11:20,465 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 108 states. [2022-04-28 04:11:20,714 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 108 to 106. [2022-04-28 04:11:20,714 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:11:20,714 INFO L82 GeneralOperation]: Start isEquivalent. First operand 108 states. Second operand has 106 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 75 states have internal predecessors, (82), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-28 04:11:20,714 INFO L74 IsIncluded]: Start isIncluded. First operand 108 states. Second operand has 106 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 75 states have internal predecessors, (82), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-28 04:11:20,714 INFO L87 Difference]: Start difference. First operand 108 states. Second operand has 106 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 75 states have internal predecessors, (82), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-28 04:11:20,716 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:20,716 INFO L93 Difference]: Finished difference Result 108 states and 126 transitions. [2022-04-28 04:11:20,716 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 126 transitions. [2022-04-28 04:11:20,717 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:20,717 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:20,717 INFO L74 IsIncluded]: Start isIncluded. First operand has 106 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 75 states have internal predecessors, (82), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 108 states. [2022-04-28 04:11:20,717 INFO L87 Difference]: Start difference. First operand has 106 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 75 states have internal predecessors, (82), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 108 states. [2022-04-28 04:11:20,719 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:11:20,719 INFO L93 Difference]: Finished difference Result 108 states and 126 transitions. [2022-04-28 04:11:20,719 INFO L276 IsEmpty]: Start isEmpty. Operand 108 states and 126 transitions. [2022-04-28 04:11:20,719 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:11:20,719 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:11:20,719 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:11:20,719 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:11:20,719 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 106 states, 72 states have (on average 1.1388888888888888) internal successors, (82), 75 states have internal predecessors, (82), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-28 04:11:20,721 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 106 states to 106 states and 124 transitions. [2022-04-28 04:11:20,721 INFO L78 Accepts]: Start accepts. Automaton has 106 states and 124 transitions. Word has length 70 [2022-04-28 04:11:20,721 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:11:20,721 INFO L495 AbstractCegarLoop]: Abstraction has 106 states and 124 transitions. [2022-04-28 04:11:20,721 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 10 states, 8 states have (on average 3.875) internal successors, (31), 9 states have internal predecessors, (31), 4 states have call successors, (13), 2 states have call predecessors, (13), 2 states have return successors, (11), 2 states have call predecessors, (11), 3 states have call successors, (11) [2022-04-28 04:11:20,721 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 106 states and 124 transitions. [2022-04-28 04:11:20,908 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 124 edges. 124 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:20,908 INFO L276 IsEmpty]: Start isEmpty. Operand 106 states and 124 transitions. [2022-04-28 04:11:20,913 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 68 [2022-04-28 04:11:20,914 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:11:20,914 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:11:20,930 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (8)] Forceful destruction successful, exit code 0 [2022-04-28 04:11:21,122 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: SelfDestructingSolverStorable12,8 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:11:21,123 INFO L420 AbstractCegarLoop]: === Iteration 14 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:11:21,123 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:11:21,123 INFO L85 PathProgramCache]: Analyzing trace with hash 1867983073, now seen corresponding path program 7 times [2022-04-28 04:11:21,123 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:21,123 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [564831662] [2022-04-28 04:11:21,124 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:11:21,124 INFO L85 PathProgramCache]: Analyzing trace with hash 1867983073, now seen corresponding path program 8 times [2022-04-28 04:11:21,124 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:11:21,124 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [108217207] [2022-04-28 04:11:21,124 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:11:21,124 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:11:21,165 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:21,590 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:11:21,592 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:21,594 INFO L290 TraceCheckUtils]: 0: Hoare triple {10405#(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(10, 2);call #Ultimate.allocInit(12, 3); {10348#true} is VALID [2022-04-28 04:11:21,594 INFO L290 TraceCheckUtils]: 1: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:21,594 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10348#true} {10348#true} #122#return; {10348#true} is VALID [2022-04-28 04:11:21,594 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:21,595 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:21,597 INFO L290 TraceCheckUtils]: 0: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:21,597 INFO L290 TraceCheckUtils]: 1: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:21,597 INFO L290 TraceCheckUtils]: 2: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:21,597 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10348#true} {10348#true} #98#return; {10348#true} is VALID [2022-04-28 04:11:21,600 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:11:21,601 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:21,613 INFO L290 TraceCheckUtils]: 0: Hoare triple {10406#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 04:11:21,614 INFO L290 TraceCheckUtils]: 1: Hoare triple {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 04:11:21,614 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {10348#true} #100#return; {10360#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-28 04:11:21,615 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:11:21,628 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:22,542 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:11:22,544 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:22,546 INFO L290 TraceCheckUtils]: 0: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:22,546 INFO L290 TraceCheckUtils]: 1: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:22,546 INFO L290 TraceCheckUtils]: 2: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:22,559 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10348#true} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #116#return; {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-28 04:11:22,560 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:11:22,561 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:22,563 INFO L290 TraceCheckUtils]: 0: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:22,563 INFO L290 TraceCheckUtils]: 1: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:22,564 INFO L290 TraceCheckUtils]: 2: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:22,565 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10348#true} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #118#return; {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-28 04:11:22,565 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:11:22,566 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:22,587 INFO L290 TraceCheckUtils]: 0: Hoare triple {10348#true} ~cond := #in~cond; {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:11:22,587 INFO L290 TraceCheckUtils]: 1: Hoare triple {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:22,588 INFO L290 TraceCheckUtils]: 2: Hoare triple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:22,589 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #120#return; {10421#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-28 04:11:22,589 INFO L290 TraceCheckUtils]: 0: Hoare triple {10406#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-28 04:11:22,589 INFO L272 TraceCheckUtils]: 1: Hoare triple {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:22,589 INFO L290 TraceCheckUtils]: 2: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:22,589 INFO L290 TraceCheckUtils]: 3: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:22,589 INFO L290 TraceCheckUtils]: 4: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:22,590 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {10348#true} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #116#return; {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-28 04:11:22,590 INFO L272 TraceCheckUtils]: 6: Hoare triple {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:22,590 INFO L290 TraceCheckUtils]: 7: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:22,590 INFO L290 TraceCheckUtils]: 8: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:22,590 INFO L290 TraceCheckUtils]: 9: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:22,591 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10348#true} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #118#return; {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-28 04:11:22,591 INFO L272 TraceCheckUtils]: 11: Hoare triple {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:22,591 INFO L290 TraceCheckUtils]: 12: Hoare triple {10348#true} ~cond := #in~cond; {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:11:22,592 INFO L290 TraceCheckUtils]: 13: Hoare triple {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:22,592 INFO L290 TraceCheckUtils]: 14: Hoare triple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:22,593 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #120#return; {10421#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-28 04:11:22,595 INFO L290 TraceCheckUtils]: 16: Hoare triple {10421#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {10422#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-28 04:11:22,596 INFO L290 TraceCheckUtils]: 17: Hoare triple {10422#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} assume true; {10422#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-28 04:11:22,599 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {10422#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} {10361#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #102#return; {10381#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-28 04:11:22,599 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:11:22,608 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:24,845 INFO L290 TraceCheckUtils]: 0: Hoare triple {10406#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {10425#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:11:24,846 INFO L290 TraceCheckUtils]: 1: Hoare triple {10425#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10426#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-28 04:11:24,847 INFO L290 TraceCheckUtils]: 2: Hoare triple {10426#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10427#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (or (and (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-28 04:11:24,847 INFO L290 TraceCheckUtils]: 3: Hoare triple {10427#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (or (and (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10428#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-28 04:11:24,852 INFO L290 TraceCheckUtils]: 4: Hoare triple {10428#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10429#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= 2 finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-28 04:11:24,853 INFO L290 TraceCheckUtils]: 5: Hoare triple {10429#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= 2 finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10430#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-28 04:11:24,855 INFO L290 TraceCheckUtils]: 6: Hoare triple {10430#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10431#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-28 04:11:24,857 INFO L290 TraceCheckUtils]: 7: Hoare triple {10431#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10432#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-28 04:11:24,860 INFO L290 TraceCheckUtils]: 8: Hoare triple {10432#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} assume !(~j~1 < ~n); {10432#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-28 04:11:24,865 INFO L290 TraceCheckUtils]: 9: Hoare triple {10432#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10433#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (<= 3 finddup_~n))} is VALID [2022-04-28 04:11:24,866 INFO L290 TraceCheckUtils]: 10: Hoare triple {10433#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (<= 3 finddup_~n))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10434#(and (or (not (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))) (<= 3 finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))))} is VALID [2022-04-28 04:11:24,868 INFO L290 TraceCheckUtils]: 11: Hoare triple {10434#(and (or (not (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))) (<= 3 finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10435#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= |finddup_#t~mem11| |finddup_#t~mem10|) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (= finddup_~j~1 0) (<= 3 finddup_~n)))} is VALID [2022-04-28 04:11:24,869 INFO L290 TraceCheckUtils]: 12: Hoare triple {10435#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= |finddup_#t~mem11| |finddup_#t~mem10|) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (= finddup_~j~1 0) (<= 3 finddup_~n)))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10436#(or (and (= finddup_~j~1 0) (<= 3 finddup_~n)) (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-28 04:11:24,870 INFO L290 TraceCheckUtils]: 13: Hoare triple {10436#(or (and (= finddup_~j~1 0) (<= 3 finddup_~n)) (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10437#(or (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (<= (+ finddup_~j~1 1) finddup_~n))} is VALID [2022-04-28 04:11:24,871 INFO L290 TraceCheckUtils]: 14: Hoare triple {10437#(or (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (<= (+ finddup_~j~1 1) finddup_~n))} assume !(~j~1 < ~n); {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,872 INFO L290 TraceCheckUtils]: 15: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,873 INFO L290 TraceCheckUtils]: 16: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,874 INFO L290 TraceCheckUtils]: 17: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} assume !(~j~1 < ~n); {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,875 INFO L290 TraceCheckUtils]: 18: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,876 INFO L290 TraceCheckUtils]: 19: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} assume !(~i~1 < ~n); {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,876 INFO L290 TraceCheckUtils]: 20: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} #res := 0; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,877 INFO L290 TraceCheckUtils]: 21: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} assume true; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,879 INFO L284 TraceCheckUtils]: 22: Hoare quadruple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} {10381#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} #104#return; {10349#false} is VALID [2022-04-28 04:11:24,880 INFO L272 TraceCheckUtils]: 0: Hoare triple {10348#true} call ULTIMATE.init(); {10405#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:11:24,880 INFO L290 TraceCheckUtils]: 1: Hoare triple {10405#(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(10, 2);call #Ultimate.allocInit(12, 3); {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L290 TraceCheckUtils]: 2: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10348#true} {10348#true} #122#return; {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L272 TraceCheckUtils]: 4: Hoare triple {10348#true} call #t~ret27 := main(); {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L290 TraceCheckUtils]: 5: Hoare triple {10348#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L272 TraceCheckUtils]: 6: Hoare triple {10348#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L290 TraceCheckUtils]: 7: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L290 TraceCheckUtils]: 8: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L290 TraceCheckUtils]: 9: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10348#true} {10348#true} #98#return; {10348#true} is VALID [2022-04-28 04:11:24,880 INFO L290 TraceCheckUtils]: 11: Hoare triple {10348#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {10348#true} is VALID [2022-04-28 04:11:24,881 INFO L272 TraceCheckUtils]: 12: Hoare triple {10348#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {10406#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:24,881 INFO L290 TraceCheckUtils]: 13: Hoare triple {10406#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 04:11:24,882 INFO L290 TraceCheckUtils]: 14: Hoare triple {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 04:11:24,882 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {10348#true} #100#return; {10360#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} is VALID [2022-04-28 04:11:24,883 INFO L290 TraceCheckUtils]: 16: Hoare triple {10360#(= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|))} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {10361#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} is VALID [2022-04-28 04:11:24,883 INFO L272 TraceCheckUtils]: 17: Hoare triple {10361#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {10406#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:24,884 INFO L290 TraceCheckUtils]: 18: Hoare triple {10406#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-28 04:11:24,884 INFO L272 TraceCheckUtils]: 19: Hoare triple {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:24,884 INFO L290 TraceCheckUtils]: 20: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:24,884 INFO L290 TraceCheckUtils]: 21: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:24,884 INFO L290 TraceCheckUtils]: 22: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:24,885 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10348#true} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #116#return; {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-28 04:11:24,885 INFO L272 TraceCheckUtils]: 24: Hoare triple {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:24,885 INFO L290 TraceCheckUtils]: 25: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:24,885 INFO L290 TraceCheckUtils]: 26: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:24,885 INFO L290 TraceCheckUtils]: 27: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:24,885 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10348#true} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #118#return; {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} is VALID [2022-04-28 04:11:24,886 INFO L272 TraceCheckUtils]: 29: Hoare triple {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:24,886 INFO L290 TraceCheckUtils]: 30: Hoare triple {10348#true} ~cond := #in~cond; {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:11:24,886 INFO L290 TraceCheckUtils]: 31: Hoare triple {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:24,886 INFO L290 TraceCheckUtils]: 32: Hoare triple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:24,887 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} {10408#(or (and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|)) (= (+ mkdup_~a.offset (* mkdup_~i~0 4)) (+ (* mkdup_~j~0 4) mkdup_~a.offset)))} #120#return; {10421#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} is VALID [2022-04-28 04:11:24,890 INFO L290 TraceCheckUtils]: 34: Hoare triple {10421#(and (= |#memory_int| |old(#memory_int)|) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= (* mkdup_~j~0 4) (* mkdup_~i~0 4))))} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {10422#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-28 04:11:24,891 INFO L290 TraceCheckUtils]: 35: Hoare triple {10422#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} assume true; {10422#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} is VALID [2022-04-28 04:11:24,893 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10422#(and (= (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)) (or (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |#memory_int| |mkdup_#in~a.base|) ((as const (Array Int Int)) 0)) 0))) (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) 0) (= (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (or (= (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|))) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))) (select |#memory_int| |mkdup_#in~a.base|)))) (= (select |#memory_int| |mkdup_#in~a.base|) (store (select |old(#memory_int)| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)) (select (select |#memory_int| |mkdup_#in~a.base|) (@diff (select |old(#memory_int)| |mkdup_#in~a.base|) (select |#memory_int| |mkdup_#in~a.base|)))))))} {10361#(= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))} #102#return; {10381#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-28 04:11:24,894 INFO L290 TraceCheckUtils]: 37: Hoare triple {10381#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {10381#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} is VALID [2022-04-28 04:11:24,895 INFO L272 TraceCheckUtils]: 38: Hoare triple {10381#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {10406#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:24,896 INFO L290 TraceCheckUtils]: 39: Hoare triple {10406#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {10425#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:11:24,896 INFO L290 TraceCheckUtils]: 40: Hoare triple {10425#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10426#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-28 04:11:24,897 INFO L290 TraceCheckUtils]: 41: Hoare triple {10426#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10427#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (or (and (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} is VALID [2022-04-28 04:11:24,897 INFO L290 TraceCheckUtils]: 42: Hoare triple {10427#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (or (and (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))) 0)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (= |finddup_#t~mem11| |finddup_#t~mem10|)))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10428#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} is VALID [2022-04-28 04:11:24,900 INFO L290 TraceCheckUtils]: 43: Hoare triple {10428#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (<= (+ finddup_~i~1 1) finddup_~j~1))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10429#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= 2 finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-28 04:11:24,901 INFO L290 TraceCheckUtils]: 44: Hoare triple {10429#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= 2 finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10430#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} is VALID [2022-04-28 04:11:24,902 INFO L290 TraceCheckUtils]: 45: Hoare triple {10430#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (select |#memory_int| finddup_~a.base))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10431#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-28 04:11:24,905 INFO L290 TraceCheckUtils]: 46: Hoare triple {10431#(and (= (* finddup_~i~1 4) 0) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (<= (+ finddup_~i~1 2) finddup_~j~1) (= |finddup_#in~a.base| finddup_~a.base) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) 0) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (<= 3 finddup_~n) (<= finddup_~j~1 (+ finddup_~i~1 2)) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10432#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-28 04:11:24,906 INFO L290 TraceCheckUtils]: 47: Hoare triple {10432#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} assume !(~j~1 < ~n); {10432#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} is VALID [2022-04-28 04:11:24,908 INFO L290 TraceCheckUtils]: 48: Hoare triple {10432#(and (= (* finddup_~i~1 4) 0) (<= 3 finddup_~n) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (or (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)))))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))) (or (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) 0)) (and (or (and (= (+ finddup_~a.offset (* finddup_~i~1 4) 8) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (and (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))) (= (+ finddup_~a.offset (* finddup_~i~1 4) 4) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))) (= (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (+ finddup_~a.offset (* finddup_~i~1 4) 8))) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10433#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (<= 3 finddup_~n))} is VALID [2022-04-28 04:11:24,909 INFO L290 TraceCheckUtils]: 49: Hoare triple {10433#(and (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0))))) (<= 3 finddup_~n))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10434#(and (or (not (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))) (<= 3 finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))))} is VALID [2022-04-28 04:11:24,911 INFO L290 TraceCheckUtils]: 50: Hoare triple {10434#(and (or (not (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))) (<= 3 finddup_~n)) (or (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))) (and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (@diff (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0))))) (not (= ((as const (Array Int Int)) 0) (store (select |#memory_int| finddup_~a.base) (@diff (select |#memory_int| finddup_~a.base) ((as const (Array Int Int)) 0)) 0)))) (= finddup_~a.offset (+ finddup_~a.offset (* finddup_~j~1 4)))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10435#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= |finddup_#t~mem11| |finddup_#t~mem10|) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (= finddup_~j~1 0) (<= 3 finddup_~n)))} is VALID [2022-04-28 04:11:24,912 INFO L290 TraceCheckUtils]: 51: Hoare triple {10435#(or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (= |finddup_#t~mem11| |finddup_#t~mem10|) (and (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (and (= finddup_~j~1 0) (<= 3 finddup_~n)))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10436#(or (and (= finddup_~j~1 0) (<= 3 finddup_~n)) (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} is VALID [2022-04-28 04:11:24,913 INFO L290 TraceCheckUtils]: 52: Hoare triple {10436#(or (and (= finddup_~j~1 0) (<= 3 finddup_~n)) (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10437#(or (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (<= (+ finddup_~j~1 1) finddup_~n))} is VALID [2022-04-28 04:11:24,914 INFO L290 TraceCheckUtils]: 53: Hoare triple {10437#(or (and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)))) (<= (+ finddup_~j~1 1) finddup_~n))} assume !(~j~1 < ~n); {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,915 INFO L290 TraceCheckUtils]: 54: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,915 INFO L290 TraceCheckUtils]: 55: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,916 INFO L290 TraceCheckUtils]: 56: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} assume !(~j~1 < ~n); {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,917 INFO L290 TraceCheckUtils]: 57: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,918 INFO L290 TraceCheckUtils]: 58: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} assume !(~i~1 < ~n); {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,918 INFO L290 TraceCheckUtils]: 59: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} #res := 0; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,919 INFO L290 TraceCheckUtils]: 60: Hoare triple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} assume true; {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} is VALID [2022-04-28 04:11:24,921 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10438#(and (or (not (= ((as const (Array Int Int)) 0) (store (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0))) (not (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))) (select (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)))))) (not (= (store (select |old(#memory_int)| |finddup_#in~a.base|) (@diff (select |old(#memory_int)| |finddup_#in~a.base|) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))} {10381#(and (or (= (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) (= (select (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0))) (select (select |#memory_int| main_~a~0.base) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0))))) (= ((as const (Array Int Int)) 0) (store (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) (@diff (store (select |#memory_int| main_~a~0.base) (@diff (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)) 0) ((as const (Array Int Int)) 0)) 0)))} #104#return; {10349#false} is VALID [2022-04-28 04:11:24,921 INFO L290 TraceCheckUtils]: 62: Hoare triple {10349#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {10349#false} is VALID [2022-04-28 04:11:24,921 INFO L272 TraceCheckUtils]: 63: Hoare triple {10349#false} call __VERIFIER_assert(~r~0); {10349#false} is VALID [2022-04-28 04:11:24,921 INFO L290 TraceCheckUtils]: 64: Hoare triple {10349#false} ~cond := #in~cond; {10349#false} is VALID [2022-04-28 04:11:24,921 INFO L290 TraceCheckUtils]: 65: Hoare triple {10349#false} assume 0 == ~cond; {10349#false} is VALID [2022-04-28 04:11:24,921 INFO L290 TraceCheckUtils]: 66: Hoare triple {10349#false} assume !false; {10349#false} is VALID [2022-04-28 04:11:24,922 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 10 proven. 27 refuted. 0 times theorem prover too weak. 17 trivial. 0 not checked. [2022-04-28 04:11:24,922 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:11:24,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [108217207] [2022-04-28 04:11:24,922 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [108217207] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:11:24,922 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [2112922422] [2022-04-28 04:11:24,922 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:11:24,922 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:11:24,922 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:11:24,923 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-28 04:11:24,923 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-28 04:11:24,994 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:11:24,995 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:11:24,996 INFO L263 TraceCheckSpWp]: Trace formula consists of 266 conjuncts, 77 conjunts are in the unsatisfiable core [2022-04-28 04:11:25,010 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:11:25,012 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:11:25,064 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 0 case distinctions, treesize of input 7 treesize of output 6 [2022-04-28 04:11:26,765 WARN L855 $PredicateComparison]: unable to prove that (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (not (= mkdup_~j~0 mkdup_~i~0)) (= (store |c_old(#memory_int)| |c_mkdup_#in~a.base| (store (store (select |c_old(#memory_int)| |c_mkdup_#in~a.base|) (+ |c_mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ (* mkdup_~j~0 4) |c_mkdup_#in~a.offset|) mkdup_~x~0)) |c_#memory_int|) (< mkdup_~i~0 |c_mkdup_#in~n|) (<= 0 mkdup_~i~0))) is different from true [2022-04-28 04:11:26,992 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 0 case distinctions, treesize of input 29 treesize of output 24 [2022-04-28 04:11:29,327 INFO L272 TraceCheckUtils]: 0: Hoare triple {10348#true} call ULTIMATE.init(); {10348#true} is VALID [2022-04-28 04:11:29,327 INFO L290 TraceCheckUtils]: 1: Hoare triple {10348#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(10, 2);call #Ultimate.allocInit(12, 3); {10348#true} is VALID [2022-04-28 04:11:29,327 INFO L290 TraceCheckUtils]: 2: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:29,327 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {10348#true} {10348#true} #122#return; {10348#true} is VALID [2022-04-28 04:11:29,327 INFO L272 TraceCheckUtils]: 4: Hoare triple {10348#true} call #t~ret27 := main(); {10348#true} is VALID [2022-04-28 04:11:29,328 INFO L290 TraceCheckUtils]: 5: Hoare triple {10348#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {10348#true} is VALID [2022-04-28 04:11:29,328 INFO L272 TraceCheckUtils]: 6: Hoare triple {10348#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:29,328 INFO L290 TraceCheckUtils]: 7: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:29,328 INFO L290 TraceCheckUtils]: 8: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:29,328 INFO L290 TraceCheckUtils]: 9: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:29,328 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {10348#true} {10348#true} #98#return; {10348#true} is VALID [2022-04-28 04:11:29,328 INFO L290 TraceCheckUtils]: 11: Hoare triple {10348#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {10475#(= |main_#t~malloc13.offset| 0)} is VALID [2022-04-28 04:11:29,328 INFO L272 TraceCheckUtils]: 12: Hoare triple {10475#(= |main_#t~malloc13.offset| 0)} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {10348#true} is VALID [2022-04-28 04:11:29,329 INFO L290 TraceCheckUtils]: 13: Hoare triple {10348#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 04:11:29,329 INFO L290 TraceCheckUtils]: 14: Hoare triple {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} assume true; {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} is VALID [2022-04-28 04:11:29,330 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {10407#(= ((as const (Array Int Int)) 0) (select |#memory_int| |#Ultimate.meminit_#ptr.base|))} {10475#(= |main_#t~malloc13.offset| 0)} #100#return; {10488#(and (= |main_#t~malloc13.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|)))} is VALID [2022-04-28 04:11:29,330 INFO L290 TraceCheckUtils]: 16: Hoare triple {10488#(and (= |main_#t~malloc13.offset| 0) (= ((as const (Array Int Int)) 0) (select |#memory_int| |main_#t~malloc13.base|)))} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {10492#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} is VALID [2022-04-28 04:11:29,331 INFO L272 TraceCheckUtils]: 17: Hoare triple {10492#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {10406#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:29,331 INFO L290 TraceCheckUtils]: 18: Hoare triple {10406#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {10499#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} is VALID [2022-04-28 04:11:29,331 INFO L272 TraceCheckUtils]: 19: Hoare triple {10499#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:29,331 INFO L290 TraceCheckUtils]: 20: Hoare triple {10348#true} ~cond := #in~cond; {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:11:29,332 INFO L290 TraceCheckUtils]: 21: Hoare triple {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:29,332 INFO L290 TraceCheckUtils]: 22: Hoare triple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:29,333 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} {10499#(and (<= mkdup_~n |mkdup_#in~n|) (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|))} #116#return; {10515#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-28 04:11:29,333 INFO L272 TraceCheckUtils]: 24: Hoare triple {10515#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:29,333 INFO L290 TraceCheckUtils]: 25: Hoare triple {10348#true} ~cond := #in~cond; {10348#true} is VALID [2022-04-28 04:11:29,333 INFO L290 TraceCheckUtils]: 26: Hoare triple {10348#true} assume !(0 == ~cond); {10348#true} is VALID [2022-04-28 04:11:29,333 INFO L290 TraceCheckUtils]: 27: Hoare triple {10348#true} assume true; {10348#true} is VALID [2022-04-28 04:11:29,334 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {10348#true} {10515#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} #118#return; {10515#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-28 04:11:29,334 INFO L272 TraceCheckUtils]: 29: Hoare triple {10515#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {10348#true} is VALID [2022-04-28 04:11:29,334 INFO L290 TraceCheckUtils]: 30: Hoare triple {10348#true} ~cond := #in~cond; {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} is VALID [2022-04-28 04:11:29,334 INFO L290 TraceCheckUtils]: 31: Hoare triple {10423#(= assume_abort_if_not_~cond |assume_abort_if_not_#in~cond|)} assume !(0 == ~cond); {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:29,335 INFO L290 TraceCheckUtils]: 32: Hoare triple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} assume true; {10424#(not (= |assume_abort_if_not_#in~cond| 0))} is VALID [2022-04-28 04:11:29,335 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {10424#(not (= |assume_abort_if_not_#in~cond| 0))} {10515#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} #120#return; {10546#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} is VALID [2022-04-28 04:11:31,343 WARN L290 TraceCheckUtils]: 34: Hoare triple {10546#(and (= |#memory_int| |old(#memory_int)|) (= |mkdup_#in~a.offset| mkdup_~a.offset) (= mkdup_~a.base |mkdup_#in~a.base|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|))} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {10550#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-28 04:11:33,351 WARN L290 TraceCheckUtils]: 35: Hoare triple {10550#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|)))} assume true; {10550#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|)))} is UNKNOWN [2022-04-28 04:11:33,353 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {10550#(exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (= (store |old(#memory_int)| |mkdup_#in~a.base| (store (store (select |old(#memory_int)| |mkdup_#in~a.base|) (+ |mkdup_#in~a.offset| (* mkdup_~i~0 4)) mkdup_~x~0) (+ |mkdup_#in~a.offset| (* mkdup_~j~0 4)) mkdup_~x~0)) |#memory_int|) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0) (< mkdup_~i~0 |mkdup_#in~n|)))} {10492#(and (= main_~a~0.offset 0) (= (select |#memory_int| main_~a~0.base) ((as const (Array Int Int)) 0)))} #102#return; {10557#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} is VALID [2022-04-28 04:11:33,354 INFO L290 TraceCheckUtils]: 37: Hoare triple {10557#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {10557#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} is VALID [2022-04-28 04:11:33,355 INFO L272 TraceCheckUtils]: 38: Hoare triple {10557#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {10406#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:11:33,355 INFO L290 TraceCheckUtils]: 39: Hoare triple {10406#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {10567#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:11:33,356 INFO L290 TraceCheckUtils]: 40: Hoare triple {10567#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10571#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:11:33,356 INFO L290 TraceCheckUtils]: 41: Hoare triple {10571#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10575#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} is VALID [2022-04-28 04:11:33,357 INFO L290 TraceCheckUtils]: 42: Hoare triple {10575#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10579#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} is VALID [2022-04-28 04:11:33,358 INFO L290 TraceCheckUtils]: 43: Hoare triple {10579#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10583#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-28 04:11:33,358 INFO L290 TraceCheckUtils]: 44: Hoare triple {10583#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10587#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-28 04:11:33,359 INFO L290 TraceCheckUtils]: 45: Hoare triple {10587#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= |finddup_#t~mem11| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#t~mem10| (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4)))) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10591#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} is VALID [2022-04-28 04:11:33,360 INFO L290 TraceCheckUtils]: 46: Hoare triple {10591#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4))))) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~j~1 4) (- 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~j~1 (- 1)) (+ finddup_~i~1 1)))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10595#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} is VALID [2022-04-28 04:11:33,360 INFO L290 TraceCheckUtils]: 47: Hoare triple {10595#(and (<= |finddup_#in~n| finddup_~n) (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (<= finddup_~j~1 (+ finddup_~i~1 3)) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))))} assume !(~j~1 < ~n); {10599#(and (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 3)))} is VALID [2022-04-28 04:11:33,361 INFO L290 TraceCheckUtils]: 48: Hoare triple {10599#(and (= |#memory_int| |old(#memory_int)|) (= finddup_~i~1 0) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)))) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 8)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 3)))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10603#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 2)) (= |#memory_int| |old(#memory_int)|) (= (+ finddup_~i~1 (- 1)) 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-28 04:11:33,362 INFO L290 TraceCheckUtils]: 49: Hoare triple {10603#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 2)) (= |#memory_int| |old(#memory_int)|) (= (+ finddup_~i~1 (- 1)) 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10607#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 2)) (= |#memory_int| |old(#memory_int)|) (= (+ finddup_~i~1 (- 1)) 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} is VALID [2022-04-28 04:11:33,362 INFO L290 TraceCheckUtils]: 50: Hoare triple {10607#(and (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4) 4)) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))) (<= |finddup_#in~n| (+ finddup_~i~1 2)) (= |#memory_int| |old(#memory_int)|) (= (+ finddup_~i~1 (- 1)) 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (not (= (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (* finddup_~i~1 4))) (select (select |#memory_int| finddup_~a.base) (+ finddup_~a.offset (- 4) (* finddup_~i~1 4))))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {10611#(and (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem10|) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) |finddup_#t~mem11|) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,363 INFO L290 TraceCheckUtils]: 51: Hoare triple {10611#(and (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) |finddup_#t~mem10|) (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) |finddup_#t~mem11|) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,363 INFO L290 TraceCheckUtils]: 52: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,364 INFO L290 TraceCheckUtils]: 53: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} assume !(~j~1 < ~n); {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,364 INFO L290 TraceCheckUtils]: 54: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,365 INFO L290 TraceCheckUtils]: 55: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,365 INFO L290 TraceCheckUtils]: 56: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} assume !(~j~1 < ~n); {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,366 INFO L290 TraceCheckUtils]: 57: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} #t~post8 := ~i~1;~i~1 := 1 + #t~post8;havoc #t~post8; {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,366 INFO L290 TraceCheckUtils]: 58: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} assume !(~i~1 < ~n); {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,367 INFO L290 TraceCheckUtils]: 59: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} #res := 0; {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,367 INFO L290 TraceCheckUtils]: 60: Hoare triple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} assume true; {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} is VALID [2022-04-28 04:11:33,369 INFO L284 TraceCheckUtils]: 61: Hoare quadruple {10615#(and (= |#memory_int| |old(#memory_int)|) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)))) (<= |finddup_#in~n| 3) (not (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 8)) (select (select |#memory_int| |finddup_#in~a.base|) |finddup_#in~a.offset|))))} {10557#(and (= main_~a~0.offset 0) (exists ((mkdup_~j~0 Int) (mkdup_~x~0 Int) (mkdup_~i~0 Int)) (and (< mkdup_~i~0 main_~n~0) (= (select |#memory_int| main_~a~0.base) (store (store ((as const (Array Int Int)) 0) (+ main_~a~0.offset (* mkdup_~i~0 4)) mkdup_~x~0) (+ main_~a~0.offset (* mkdup_~j~0 4)) mkdup_~x~0)) (not (= mkdup_~j~0 mkdup_~i~0)) (<= 0 mkdup_~i~0))))} #104#return; {10349#false} is VALID [2022-04-28 04:11:33,369 INFO L290 TraceCheckUtils]: 62: Hoare triple {10349#false} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {10349#false} is VALID [2022-04-28 04:11:33,369 INFO L272 TraceCheckUtils]: 63: Hoare triple {10349#false} call __VERIFIER_assert(~r~0); {10349#false} is VALID [2022-04-28 04:11:33,369 INFO L290 TraceCheckUtils]: 64: Hoare triple {10349#false} ~cond := #in~cond; {10349#false} is VALID [2022-04-28 04:11:33,370 INFO L290 TraceCheckUtils]: 65: Hoare triple {10349#false} assume 0 == ~cond; {10349#false} is VALID [2022-04-28 04:11:33,370 INFO L290 TraceCheckUtils]: 66: Hoare triple {10349#false} assume !false; {10349#false} is VALID [2022-04-28 04:11:33,370 INFO L134 CoverageAnalysis]: Checked inductivity of 54 backedges. 9 proven. 30 refuted. 0 times theorem prover too weak. 15 trivial. 0 not checked. [2022-04-28 04:11:33,370 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:11:35,260 WARN L804 TransFormulaUtils]: predicate-based correctness check returned UNKNOWN, hence correctness of interprocedural sequential composition was not checked. [2022-04-28 04:11:58,989 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [2112922422] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:11:58,989 INFO L184 FreeRefinementEngine]: Found 0 perfect and 2 imperfect interpolant sequences. [2022-04-28 04:11:58,989 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [27, 27] total 48 [2022-04-28 04:11:58,989 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:11:58,989 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [564831662] [2022-04-28 04:11:58,989 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [564831662] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:11:58,990 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:11:58,990 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [27] imperfect sequences [] total 27 [2022-04-28 04:11:58,990 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [310879272] [2022-04-28 04:11:58,990 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:11:58,990 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.68) internal successors, (42), 23 states have internal predecessors, (42), 5 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (8), 6 states have call predecessors, (8), 4 states have call successors, (8) Word has length 67 [2022-04-28 04:11:58,991 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:11:58,991 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 27 states, 25 states have (on average 1.68) internal successors, (42), 23 states have internal predecessors, (42), 5 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (8), 6 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:11:59,051 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 60 edges. 60 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:11:59,051 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 27 states [2022-04-28 04:11:59,051 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:11:59,051 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 27 interpolants. [2022-04-28 04:11:59,052 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=363, Invalid=3523, Unknown=24, NotChecked=122, Total=4032 [2022-04-28 04:11:59,052 INFO L87 Difference]: Start difference. First operand 106 states and 124 transitions. Second operand has 27 states, 25 states have (on average 1.68) internal successors, (42), 23 states have internal predecessors, (42), 5 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (8), 6 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:12:06,814 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:12:06,815 INFO L93 Difference]: Finished difference Result 199 states and 239 transitions. [2022-04-28 04:12:06,815 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 33 states. [2022-04-28 04:12:06,815 INFO L78 Accepts]: Start accepts. Automaton has has 27 states, 25 states have (on average 1.68) internal successors, (42), 23 states have internal predecessors, (42), 5 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (8), 6 states have call predecessors, (8), 4 states have call successors, (8) Word has length 67 [2022-04-28 04:12:06,815 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:12:06,815 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.68) internal successors, (42), 23 states have internal predecessors, (42), 5 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (8), 6 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:12:06,817 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 148 transitions. [2022-04-28 04:12:06,817 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 27 states, 25 states have (on average 1.68) internal successors, (42), 23 states have internal predecessors, (42), 5 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (8), 6 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:12:06,818 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 33 states to 33 states and 148 transitions. [2022-04-28 04:12:06,818 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 33 states and 148 transitions. [2022-04-28 04:12:07,019 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 148 edges. 148 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:12:07,021 INFO L225 Difference]: With dead ends: 199 [2022-04-28 04:12:07,021 INFO L226 Difference]: Without dead ends: 125 [2022-04-28 04:12:07,023 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 169 GetRequests, 78 SyntacticMatches, 0 SemanticMatches, 91 ConstructedPredicates, 1 IntricatePredicates, 0 DeprecatedPredicates, 2369 ImplicationChecksByTransitivity, 30.0s TimeCoverageRelationStatistics Valid=688, Invalid=7664, Unknown=24, NotChecked=180, Total=8556 [2022-04-28 04:12:07,023 INFO L413 NwaCegarLoop]: 55 mSDtfsCounter, 179 mSDsluCounter, 12 mSDsCounter, 0 mSdLazyCounter, 1600 mSolverCounterSat, 136 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 2.5s Time, 0 mProtectedPredicate, 0 mProtectedAction, 183 SdHoareTripleChecker+Valid, 67 SdHoareTripleChecker+Invalid, 1736 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 136 IncrementalHoareTripleChecker+Valid, 1600 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 2.5s IncrementalHoareTripleChecker+Time [2022-04-28 04:12:07,024 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [183 Valid, 67 Invalid, 1736 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [136 Valid, 1600 Invalid, 0 Unknown, 0 Unchecked, 2.5s Time] [2022-04-28 04:12:07,024 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 125 states. [2022-04-28 04:12:07,308 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 125 to 115. [2022-04-28 04:12:07,308 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:12:07,308 INFO L82 GeneralOperation]: Start isEquivalent. First operand 125 states. Second operand has 115 states, 81 states have (on average 1.1604938271604939) internal successors, (94), 84 states have internal predecessors, (94), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-28 04:12:07,309 INFO L74 IsIncluded]: Start isIncluded. First operand 125 states. Second operand has 115 states, 81 states have (on average 1.1604938271604939) internal successors, (94), 84 states have internal predecessors, (94), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-28 04:12:07,309 INFO L87 Difference]: Start difference. First operand 125 states. Second operand has 115 states, 81 states have (on average 1.1604938271604939) internal successors, (94), 84 states have internal predecessors, (94), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-28 04:12:07,311 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:12:07,311 INFO L93 Difference]: Finished difference Result 125 states and 150 transitions. [2022-04-28 04:12:07,311 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 150 transitions. [2022-04-28 04:12:07,311 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:12:07,311 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:12:07,312 INFO L74 IsIncluded]: Start isIncluded. First operand has 115 states, 81 states have (on average 1.1604938271604939) internal successors, (94), 84 states have internal predecessors, (94), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 125 states. [2022-04-28 04:12:07,312 INFO L87 Difference]: Start difference. First operand has 115 states, 81 states have (on average 1.1604938271604939) internal successors, (94), 84 states have internal predecessors, (94), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) Second operand 125 states. [2022-04-28 04:12:07,313 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:12:07,313 INFO L93 Difference]: Finished difference Result 125 states and 150 transitions. [2022-04-28 04:12:07,314 INFO L276 IsEmpty]: Start isEmpty. Operand 125 states and 150 transitions. [2022-04-28 04:12:07,314 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:12:07,314 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:12:07,314 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:12:07,314 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:12:07,314 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 115 states, 81 states have (on average 1.1604938271604939) internal successors, (94), 84 states have internal predecessors, (94), 21 states have call successors, (21), 11 states have call predecessors, (21), 12 states have return successors, (21), 19 states have call predecessors, (21), 19 states have call successors, (21) [2022-04-28 04:12:07,316 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 115 states to 115 states and 136 transitions. [2022-04-28 04:12:07,316 INFO L78 Accepts]: Start accepts. Automaton has 115 states and 136 transitions. Word has length 67 [2022-04-28 04:12:07,316 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:12:07,316 INFO L495 AbstractCegarLoop]: Abstraction has 115 states and 136 transitions. [2022-04-28 04:12:07,316 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 27 states, 25 states have (on average 1.68) internal successors, (42), 23 states have internal predecessors, (42), 5 states have call successors, (10), 4 states have call predecessors, (10), 5 states have return successors, (8), 6 states have call predecessors, (8), 4 states have call successors, (8) [2022-04-28 04:12:07,316 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 115 states and 136 transitions. [2022-04-28 04:12:07,618 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 136 edges. 136 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:12:07,618 INFO L276 IsEmpty]: Start isEmpty. Operand 115 states and 136 transitions. [2022-04-28 04:12:07,618 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 74 [2022-04-28 04:12:07,618 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:12:07,619 INFO L195 NwaCegarLoop]: trace histogram [4, 4, 4, 4, 3, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:12:07,634 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-28 04:12:07,819 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,SelfDestructingSolverStorable13 [2022-04-28 04:12:07,819 INFO L420 AbstractCegarLoop]: === Iteration 15 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:12:07,819 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:12:07,819 INFO L85 PathProgramCache]: Analyzing trace with hash -1243098892, now seen corresponding path program 1 times [2022-04-28 04:12:07,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:12:07,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1376647467] [2022-04-28 04:12:07,820 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:12:07,820 INFO L85 PathProgramCache]: Analyzing trace with hash -1243098892, now seen corresponding path program 2 times [2022-04-28 04:12:07,820 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:12:07,820 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1426170275] [2022-04-28 04:12:07,820 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:12:07,820 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:12:07,840 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:07,917 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:12:07,918 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:07,920 INFO L290 TraceCheckUtils]: 0: Hoare triple {11766#(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(10, 2);call #Ultimate.allocInit(12, 3); {11706#true} is VALID [2022-04-28 04:12:07,920 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,920 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11706#true} {11706#true} #122#return; {11706#true} is VALID [2022-04-28 04:12:07,920 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:12:07,921 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:07,922 INFO L290 TraceCheckUtils]: 0: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:07,922 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:07,922 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,922 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11706#true} #98#return; {11706#true} is VALID [2022-04-28 04:12:07,929 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:12:07,930 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:07,931 INFO L290 TraceCheckUtils]: 0: Hoare triple {11767#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {11706#true} is VALID [2022-04-28 04:12:07,931 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,932 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {11706#true} {11706#true} #100#return; {11706#true} is VALID [2022-04-28 04:12:07,932 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:12:07,935 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:07,937 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:12:07,937 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:07,938 INFO L290 TraceCheckUtils]: 0: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:07,939 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:07,939 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,939 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11706#true} #116#return; {11706#true} is VALID [2022-04-28 04:12:07,940 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:12:07,940 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:07,942 INFO L290 TraceCheckUtils]: 0: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:07,942 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:07,942 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,942 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11706#true} #118#return; {11706#true} is VALID [2022-04-28 04:12:07,942 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:12:07,942 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:07,943 INFO L290 TraceCheckUtils]: 0: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11706#true} #120#return; {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 0: Hoare triple {11767#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L272 TraceCheckUtils]: 1: Hoare triple {11706#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 3: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 4: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {11706#true} {11706#true} #116#return; {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L272 TraceCheckUtils]: 6: Hoare triple {11706#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 7: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 8: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:07,944 INFO L290 TraceCheckUtils]: 9: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11706#true} {11706#true} #118#return; {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L272 TraceCheckUtils]: 11: Hoare triple {11706#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L290 TraceCheckUtils]: 12: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L290 TraceCheckUtils]: 13: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L290 TraceCheckUtils]: 14: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11706#true} {11706#true} #120#return; {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L290 TraceCheckUtils]: 16: Hoare triple {11706#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L290 TraceCheckUtils]: 17: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {11706#true} {11706#true} #102#return; {11706#true} is VALID [2022-04-28 04:12:07,945 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:12:07,948 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:08,058 INFO L290 TraceCheckUtils]: 0: Hoare triple {11767#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {11780#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,058 INFO L290 TraceCheckUtils]: 1: Hoare triple {11780#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,059 INFO L290 TraceCheckUtils]: 2: Hoare triple {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,059 INFO L290 TraceCheckUtils]: 3: Hoare triple {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,060 INFO L290 TraceCheckUtils]: 4: Hoare triple {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {11782#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,060 INFO L290 TraceCheckUtils]: 5: Hoare triple {11782#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {11782#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,061 INFO L290 TraceCheckUtils]: 6: Hoare triple {11782#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {11783#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-28 04:12:08,061 INFO L290 TraceCheckUtils]: 7: Hoare triple {11783#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} assume true; {11783#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-28 04:12:08,062 INFO L284 TraceCheckUtils]: 8: Hoare quadruple {11783#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} {11737#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {11747#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-28 04:12:08,062 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 49 [2022-04-28 04:12:08,063 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:08,078 INFO L290 TraceCheckUtils]: 0: Hoare triple {11706#true} ~cond := #in~cond; {11784#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:12:08,078 INFO L290 TraceCheckUtils]: 1: Hoare triple {11784#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:08,078 INFO L290 TraceCheckUtils]: 2: Hoare triple {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:08,079 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} {11748#(and (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} #106#return; {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-28 04:12:08,079 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 56 [2022-04-28 04:12:08,080 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:08,081 INFO L290 TraceCheckUtils]: 0: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:08,082 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:08,082 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,082 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} #108#return; {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-28 04:12:08,082 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 63 [2022-04-28 04:12:08,083 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:08,084 INFO L290 TraceCheckUtils]: 0: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:08,084 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:08,084 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #110#return; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:08,085 INFO L272 TraceCheckUtils]: 0: Hoare triple {11706#true} call ULTIMATE.init(); {11766#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:12:08,085 INFO L290 TraceCheckUtils]: 1: Hoare triple {11766#(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(10, 2);call #Ultimate.allocInit(12, 3); {11706#true} is VALID [2022-04-28 04:12:08,085 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,085 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11706#true} #122#return; {11706#true} is VALID [2022-04-28 04:12:08,086 INFO L272 TraceCheckUtils]: 4: Hoare triple {11706#true} call #t~ret27 := main(); {11706#true} is VALID [2022-04-28 04:12:08,086 INFO L290 TraceCheckUtils]: 5: Hoare triple {11706#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {11706#true} is VALID [2022-04-28 04:12:08,086 INFO L272 TraceCheckUtils]: 6: Hoare triple {11706#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:08,086 INFO L290 TraceCheckUtils]: 7: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:08,086 INFO L290 TraceCheckUtils]: 8: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:08,086 INFO L290 TraceCheckUtils]: 9: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,086 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11706#true} {11706#true} #98#return; {11706#true} is VALID [2022-04-28 04:12:08,086 INFO L290 TraceCheckUtils]: 11: Hoare triple {11706#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {11706#true} is VALID [2022-04-28 04:12:08,087 INFO L272 TraceCheckUtils]: 12: Hoare triple {11706#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {11767#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:12:08,087 INFO L290 TraceCheckUtils]: 13: Hoare triple {11767#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {11706#true} is VALID [2022-04-28 04:12:08,087 INFO L290 TraceCheckUtils]: 14: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,087 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11706#true} {11706#true} #100#return; {11706#true} is VALID [2022-04-28 04:12:08,087 INFO L290 TraceCheckUtils]: 16: Hoare triple {11706#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L272 TraceCheckUtils]: 17: Hoare triple {11706#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {11767#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 18: Hoare triple {11767#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L272 TraceCheckUtils]: 19: Hoare triple {11706#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 20: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 21: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 22: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11706#true} {11706#true} #116#return; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L272 TraceCheckUtils]: 24: Hoare triple {11706#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 25: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 26: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 27: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11706#true} {11706#true} #118#return; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L272 TraceCheckUtils]: 29: Hoare triple {11706#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 30: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:08,088 INFO L290 TraceCheckUtils]: 31: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:08,089 INFO L290 TraceCheckUtils]: 32: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,089 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11706#true} {11706#true} #120#return; {11706#true} is VALID [2022-04-28 04:12:08,089 INFO L290 TraceCheckUtils]: 34: Hoare triple {11706#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {11706#true} is VALID [2022-04-28 04:12:08,089 INFO L290 TraceCheckUtils]: 35: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,089 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11706#true} {11706#true} #102#return; {11706#true} is VALID [2022-04-28 04:12:08,089 INFO L290 TraceCheckUtils]: 37: Hoare triple {11706#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {11737#(not (= |main_~#i~2.base| |main_~#j~2.base|))} is VALID [2022-04-28 04:12:08,090 INFO L272 TraceCheckUtils]: 38: Hoare triple {11737#(not (= |main_~#i~2.base| |main_~#j~2.base|))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {11767#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:12:08,091 INFO L290 TraceCheckUtils]: 39: Hoare triple {11767#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {11780#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,091 INFO L290 TraceCheckUtils]: 40: Hoare triple {11780#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,091 INFO L290 TraceCheckUtils]: 41: Hoare triple {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,092 INFO L290 TraceCheckUtils]: 42: Hoare triple {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,092 INFO L290 TraceCheckUtils]: 43: Hoare triple {11781#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (<= (+ finddup_~i~1 1) finddup_~j~1) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {11782#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,093 INFO L290 TraceCheckUtils]: 44: Hoare triple {11782#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {11782#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:08,093 INFO L290 TraceCheckUtils]: 45: Hoare triple {11782#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (<= (+ finddup_~i~1 2) finddup_~j~1) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {11783#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-28 04:12:08,094 INFO L290 TraceCheckUtils]: 46: Hoare triple {11783#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} assume true; {11783#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} is VALID [2022-04-28 04:12:08,095 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11783#(and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (<= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)))} {11737#(not (= |main_~#i~2.base| |main_~#j~2.base|))} #104#return; {11747#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-28 04:12:08,095 INFO L290 TraceCheckUtils]: 48: Hoare triple {11747#(and (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {11748#(and (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-28 04:12:08,095 INFO L272 TraceCheckUtils]: 49: Hoare triple {11748#(and (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} call __VERIFIER_assert(~r~0); {11706#true} is VALID [2022-04-28 04:12:08,096 INFO L290 TraceCheckUtils]: 50: Hoare triple {11706#true} ~cond := #in~cond; {11784#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:12:08,096 INFO L290 TraceCheckUtils]: 51: Hoare triple {11784#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:08,096 INFO L290 TraceCheckUtils]: 52: Hoare triple {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:08,097 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} {11748#(and (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} #106#return; {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-28 04:12:08,097 INFO L290 TraceCheckUtils]: 54: Hoare triple {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-28 04:12:08,097 INFO L290 TraceCheckUtils]: 55: Hoare triple {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-28 04:12:08,098 INFO L272 TraceCheckUtils]: 56: Hoare triple {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:08,098 INFO L290 TraceCheckUtils]: 57: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:08,098 INFO L290 TraceCheckUtils]: 58: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:08,098 INFO L290 TraceCheckUtils]: 59: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,098 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11706#true} {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} #108#return; {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} is VALID [2022-04-28 04:12:08,099 INFO L290 TraceCheckUtils]: 61: Hoare triple {11753#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (<= 2 (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|)))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:08,099 INFO L290 TraceCheckUtils]: 62: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:08,099 INFO L272 TraceCheckUtils]: 63: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:08,099 INFO L290 TraceCheckUtils]: 64: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:08,099 INFO L290 TraceCheckUtils]: 65: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:08,099 INFO L290 TraceCheckUtils]: 66: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:08,100 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11706#true} {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #110#return; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:08,100 INFO L290 TraceCheckUtils]: 68: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} havoc #t~mem18;havoc #t~mem19;havoc #t~short20;call #t~mem21 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem22 := read~int(~#j~2.base, ~#j~2.offset, 4); {11763#(not (= |main_#t~mem22| |main_#t~mem21|))} is VALID [2022-04-28 04:12:08,100 INFO L272 TraceCheckUtils]: 69: Hoare triple {11763#(not (= |main_#t~mem22| |main_#t~mem21|))} call __VERIFIER_assert((if #t~mem21 != #t~mem22 then 1 else 0)); {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:08,101 INFO L290 TraceCheckUtils]: 70: Hoare triple {11764#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {11765#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:12:08,101 INFO L290 TraceCheckUtils]: 71: Hoare triple {11765#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {11707#false} is VALID [2022-04-28 04:12:08,101 INFO L290 TraceCheckUtils]: 72: Hoare triple {11707#false} assume !false; {11707#false} is VALID [2022-04-28 04:12:08,102 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 7 proven. 7 refuted. 0 times theorem prover too weak. 30 trivial. 0 not checked. [2022-04-28 04:12:08,102 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:12:08,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1426170275] [2022-04-28 04:12:08,102 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1426170275] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:12:08,102 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1488336273] [2022-04-28 04:12:08,102 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:12:08,102 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:12:08,102 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:12:08,103 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-28 04:12:08,104 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-28 04:12:08,188 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:12:08,188 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:12:08,190 INFO L263 TraceCheckSpWp]: Trace formula consists of 296 conjuncts, 47 conjunts are in the unsatisfiable core [2022-04-28 04:12:08,202 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:08,203 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:12:08,264 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-04-28 04:12:08,441 INFO L356 Elim1Store]: treesize reduction 17, result has 46.9 percent of original size [2022-04-28 04:12:08,441 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 1 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 27 treesize of output 23 [2022-04-28 04:12:08,980 INFO L356 Elim1Store]: treesize reduction 4, result has 50.0 percent of original size [2022-04-28 04:12:08,981 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 29 treesize of output 17 [2022-04-28 04:12:09,047 INFO L272 TraceCheckUtils]: 0: Hoare triple {11706#true} call ULTIMATE.init(); {11706#true} is VALID [2022-04-28 04:12:09,047 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#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(10, 2);call #Ultimate.allocInit(12, 3); {11706#true} is VALID [2022-04-28 04:12:09,047 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11706#true} #122#return; {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L272 TraceCheckUtils]: 4: Hoare triple {11706#true} call #t~ret27 := main(); {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L290 TraceCheckUtils]: 5: Hoare triple {11706#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L272 TraceCheckUtils]: 6: Hoare triple {11706#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L290 TraceCheckUtils]: 7: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L290 TraceCheckUtils]: 8: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L290 TraceCheckUtils]: 9: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11706#true} {11706#true} #98#return; {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L290 TraceCheckUtils]: 11: Hoare triple {11706#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L272 TraceCheckUtils]: 12: Hoare triple {11706#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L290 TraceCheckUtils]: 13: Hoare triple {11706#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L290 TraceCheckUtils]: 14: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11706#true} {11706#true} #100#return; {11706#true} is VALID [2022-04-28 04:12:09,048 INFO L290 TraceCheckUtils]: 16: Hoare triple {11706#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L272 TraceCheckUtils]: 17: Hoare triple {11706#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L290 TraceCheckUtils]: 18: Hoare triple {11706#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L272 TraceCheckUtils]: 19: Hoare triple {11706#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L290 TraceCheckUtils]: 20: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L290 TraceCheckUtils]: 21: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L290 TraceCheckUtils]: 22: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11706#true} {11706#true} #116#return; {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L272 TraceCheckUtils]: 24: Hoare triple {11706#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L290 TraceCheckUtils]: 25: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L290 TraceCheckUtils]: 26: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L290 TraceCheckUtils]: 27: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11706#true} {11706#true} #118#return; {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L272 TraceCheckUtils]: 29: Hoare triple {11706#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,049 INFO L290 TraceCheckUtils]: 30: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,050 INFO L290 TraceCheckUtils]: 31: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,050 INFO L290 TraceCheckUtils]: 32: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,050 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11706#true} {11706#true} #120#return; {11706#true} is VALID [2022-04-28 04:12:09,050 INFO L290 TraceCheckUtils]: 34: Hoare triple {11706#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {11706#true} is VALID [2022-04-28 04:12:09,050 INFO L290 TraceCheckUtils]: 35: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,050 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11706#true} {11706#true} #102#return; {11706#true} is VALID [2022-04-28 04:12:09,050 INFO L290 TraceCheckUtils]: 37: Hoare triple {11706#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {11899#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-28 04:12:09,050 INFO L272 TraceCheckUtils]: 38: Hoare triple {11899#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {11706#true} is VALID [2022-04-28 04:12:09,051 INFO L290 TraceCheckUtils]: 39: Hoare triple {11706#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {11780#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:09,051 INFO L290 TraceCheckUtils]: 40: Hoare triple {11780#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {11909#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:09,052 INFO L290 TraceCheckUtils]: 41: Hoare triple {11909#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {11909#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:09,052 INFO L290 TraceCheckUtils]: 42: Hoare triple {11909#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {11909#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:09,052 INFO L290 TraceCheckUtils]: 43: Hoare triple {11909#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {11919#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 2)) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:09,053 INFO L290 TraceCheckUtils]: 44: Hoare triple {11919#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 2)) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {11919#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 2)) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:09,054 INFO L290 TraceCheckUtils]: 45: Hoare triple {11919#(and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~j~1 (+ finddup_~i~1 2)) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {11926#(and (= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)) (or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} is VALID [2022-04-28 04:12:09,054 INFO L290 TraceCheckUtils]: 46: Hoare triple {11926#(and (= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)) (or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} assume true; {11926#(and (= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)) (or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} is VALID [2022-04-28 04:12:09,055 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {11926#(and (= 2 (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|)) (or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)))} {11899#(and (= |main_~#j~2.offset| 0) (= |main_~#i~2.offset| 0) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} #104#return; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,056 INFO L290 TraceCheckUtils]: 48: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,057 INFO L272 TraceCheckUtils]: 49: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} call __VERIFIER_assert(~r~0); {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,057 INFO L290 TraceCheckUtils]: 50: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} ~cond := #in~cond; {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,059 INFO L290 TraceCheckUtils]: 51: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} assume !(0 == ~cond); {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,075 INFO L290 TraceCheckUtils]: 52: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} assume true; {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,076 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} #106#return; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,076 INFO L290 TraceCheckUtils]: 54: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,077 INFO L290 TraceCheckUtils]: 55: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,078 INFO L272 TraceCheckUtils]: 56: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,078 INFO L290 TraceCheckUtils]: 57: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} ~cond := #in~cond; {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,078 INFO L290 TraceCheckUtils]: 58: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} assume !(0 == ~cond); {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,079 INFO L290 TraceCheckUtils]: 59: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} assume true; {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,079 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} #108#return; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,080 INFO L290 TraceCheckUtils]: 61: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,080 INFO L290 TraceCheckUtils]: 62: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,081 INFO L272 TraceCheckUtils]: 63: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,082 INFO L290 TraceCheckUtils]: 64: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} ~cond := #in~cond; {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,087 INFO L290 TraceCheckUtils]: 65: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} assume !(0 == ~cond); {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,088 INFO L290 TraceCheckUtils]: 66: Hoare triple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} assume true; {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} is VALID [2022-04-28 04:12:09,088 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11940#(and (exists ((|v_main_~#j~2.base_BEFORE_CALL_12| Int)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_12|) 0) 2)) (exists ((|v_main_~#i~2.base_BEFORE_CALL_13| Int)) (= 0 (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_13|) 0))))} {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} #110#return; {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} is VALID [2022-04-28 04:12:09,089 INFO L290 TraceCheckUtils]: 68: Hoare triple {11933#(and (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 2) (= |main_~#i~2.offset| 0))} havoc #t~mem18;havoc #t~mem19;havoc #t~short20;call #t~mem21 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem22 := read~int(~#j~2.base, ~#j~2.offset, 4); {11998#(and (= |main_#t~mem22| 2) (= |main_#t~mem21| 0))} is VALID [2022-04-28 04:12:09,089 INFO L272 TraceCheckUtils]: 69: Hoare triple {11998#(and (= |main_#t~mem22| 2) (= |main_#t~mem21| 0))} call __VERIFIER_assert((if #t~mem21 != #t~mem22 then 1 else 0)); {12002#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:12:09,089 INFO L290 TraceCheckUtils]: 70: Hoare triple {12002#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12006#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:12:09,090 INFO L290 TraceCheckUtils]: 71: Hoare triple {12006#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11707#false} is VALID [2022-04-28 04:12:09,090 INFO L290 TraceCheckUtils]: 72: Hoare triple {11707#false} assume !false; {11707#false} is VALID [2022-04-28 04:12:09,090 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 04:12:09,090 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:12:09,348 INFO L356 Elim1Store]: treesize reduction 10, result has 9.1 percent of original size [2022-04-28 04:12:09,348 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 670 treesize of output 606 [2022-04-28 04:12:09,881 INFO L290 TraceCheckUtils]: 72: Hoare triple {11707#false} assume !false; {11707#false} is VALID [2022-04-28 04:12:09,881 INFO L290 TraceCheckUtils]: 71: Hoare triple {12006#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {11707#false} is VALID [2022-04-28 04:12:09,881 INFO L290 TraceCheckUtils]: 70: Hoare triple {12002#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {12006#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:12:09,882 INFO L272 TraceCheckUtils]: 69: Hoare triple {11763#(not (= |main_#t~mem22| |main_#t~mem21|))} call __VERIFIER_assert((if #t~mem21 != #t~mem22 then 1 else 0)); {12002#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:12:09,882 INFO L290 TraceCheckUtils]: 68: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} havoc #t~mem18;havoc #t~mem19;havoc #t~short20;call #t~mem21 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem22 := read~int(~#j~2.base, ~#j~2.offset, 4); {11763#(not (= |main_#t~mem22| |main_#t~mem21|))} is VALID [2022-04-28 04:12:09,883 INFO L284 TraceCheckUtils]: 67: Hoare quadruple {11706#true} {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #110#return; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,883 INFO L290 TraceCheckUtils]: 66: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,883 INFO L290 TraceCheckUtils]: 65: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,883 INFO L290 TraceCheckUtils]: 64: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,883 INFO L272 TraceCheckUtils]: 63: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,883 INFO L290 TraceCheckUtils]: 62: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,884 INFO L290 TraceCheckUtils]: 61: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,884 INFO L284 TraceCheckUtils]: 60: Hoare quadruple {11706#true} {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #108#return; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,884 INFO L290 TraceCheckUtils]: 59: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,884 INFO L290 TraceCheckUtils]: 58: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,885 INFO L290 TraceCheckUtils]: 57: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,885 INFO L272 TraceCheckUtils]: 56: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,885 INFO L290 TraceCheckUtils]: 55: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,885 INFO L290 TraceCheckUtils]: 54: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,886 INFO L284 TraceCheckUtils]: 53: Hoare quadruple {11706#true} {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} #106#return; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,886 INFO L290 TraceCheckUtils]: 52: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,886 INFO L290 TraceCheckUtils]: 51: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,886 INFO L290 TraceCheckUtils]: 50: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,886 INFO L272 TraceCheckUtils]: 49: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} call __VERIFIER_assert(~r~0); {11706#true} is VALID [2022-04-28 04:12:09,887 INFO L290 TraceCheckUtils]: 48: Hoare triple {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,888 INFO L284 TraceCheckUtils]: 47: Hoare quadruple {12092#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} {12088#(or (not (= |main_~#j~2.offset| |main_~#i~2.offset|)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} #104#return; {11758#(not (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)))} is VALID [2022-04-28 04:12:09,888 INFO L290 TraceCheckUtils]: 46: Hoare triple {12092#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} assume true; {12092#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} is VALID [2022-04-28 04:12:09,889 INFO L290 TraceCheckUtils]: 45: Hoare triple {12099#(or (and (or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1))) (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {12092#(or (not (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} is VALID [2022-04-28 04:12:09,890 INFO L290 TraceCheckUtils]: 44: Hoare triple {12099#(or (and (or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1))) (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {12099#(or (and (or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1))) (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} is VALID [2022-04-28 04:12:09,891 INFO L290 TraceCheckUtils]: 43: Hoare triple {12106#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} #t~post9 := ~j~1;~j~1 := 1 + #t~post9;havoc #t~post9; {12099#(or (and (or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (not (= finddup_~j~1 finddup_~i~1))) (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset) (not (= finddup_~j~1 finddup_~i~1))) (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)))) (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)))} is VALID [2022-04-28 04:12:09,891 INFO L290 TraceCheckUtils]: 42: Hoare triple {12106#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} assume !(#t~mem10 == #t~mem11);havoc #t~mem10;havoc #t~mem11; {12106#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} is VALID [2022-04-28 04:12:09,892 INFO L290 TraceCheckUtils]: 41: Hoare triple {12106#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {12106#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} is VALID [2022-04-28 04:12:09,893 INFO L290 TraceCheckUtils]: 40: Hoare triple {12116#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {12106#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (not (= |finddup_#in~_i.base| finddup_~_i.base)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (not (= finddup_~i~1 (+ finddup_~j~1 1))) (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} is VALID [2022-04-28 04:12:09,893 INFO L290 TraceCheckUtils]: 39: Hoare triple {11706#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {12116#(or (and (= |finddup_#in~_i.offset| |finddup_#in~_j.offset|) (= |finddup_#in~_i.base| |finddup_#in~_j.base|)) (and (or (not (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|)) (not (= |finddup_#in~_i.base| finddup_~_i.base))) (or (and (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (and (= |finddup_#in~_j.base| finddup_~_i.base) (= |finddup_#in~_i.base| finddup_~_j.base) (= |finddup_#in~_j.offset| finddup_~_i.offset) (= |finddup_#in~_i.offset| finddup_~_j.offset)))))} is VALID [2022-04-28 04:12:09,893 INFO L272 TraceCheckUtils]: 38: Hoare triple {12088#(or (not (= |main_~#j~2.offset| |main_~#i~2.offset|)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {11706#true} is VALID [2022-04-28 04:12:09,894 INFO L290 TraceCheckUtils]: 37: Hoare triple {11706#true} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {12088#(or (not (= |main_~#j~2.offset| |main_~#i~2.offset|)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-28 04:12:09,894 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {11706#true} {11706#true} #102#return; {11706#true} is VALID [2022-04-28 04:12:09,894 INFO L290 TraceCheckUtils]: 35: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,894 INFO L290 TraceCheckUtils]: 34: Hoare triple {11706#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {11706#true} is VALID [2022-04-28 04:12:09,894 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {11706#true} {11706#true} #120#return; {11706#true} is VALID [2022-04-28 04:12:09,894 INFO L290 TraceCheckUtils]: 32: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,894 INFO L290 TraceCheckUtils]: 31: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,894 INFO L290 TraceCheckUtils]: 30: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,894 INFO L272 TraceCheckUtils]: 29: Hoare triple {11706#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {11706#true} {11706#true} #118#return; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 27: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 26: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 25: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L272 TraceCheckUtils]: 24: Hoare triple {11706#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {11706#true} {11706#true} #116#return; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 22: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 21: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 20: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L272 TraceCheckUtils]: 19: Hoare triple {11706#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 18: Hoare triple {11706#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L272 TraceCheckUtils]: 17: Hoare triple {11706#true} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 16: Hoare triple {11706#true} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {11706#true} {11706#true} #100#return; {11706#true} is VALID [2022-04-28 04:12:09,895 INFO L290 TraceCheckUtils]: 14: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L290 TraceCheckUtils]: 13: Hoare triple {11706#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L272 TraceCheckUtils]: 12: Hoare triple {11706#true} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L290 TraceCheckUtils]: 11: Hoare triple {11706#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {11706#true} {11706#true} #98#return; {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L290 TraceCheckUtils]: 9: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L290 TraceCheckUtils]: 8: Hoare triple {11706#true} assume !(0 == ~cond); {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L290 TraceCheckUtils]: 7: Hoare triple {11706#true} ~cond := #in~cond; {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L272 TraceCheckUtils]: 6: Hoare triple {11706#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L290 TraceCheckUtils]: 5: Hoare triple {11706#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L272 TraceCheckUtils]: 4: Hoare triple {11706#true} call #t~ret27 := main(); {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {11706#true} {11706#true} #122#return; {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L290 TraceCheckUtils]: 2: Hoare triple {11706#true} assume true; {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L290 TraceCheckUtils]: 1: Hoare triple {11706#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(10, 2);call #Ultimate.allocInit(12, 3); {11706#true} is VALID [2022-04-28 04:12:09,896 INFO L272 TraceCheckUtils]: 0: Hoare triple {11706#true} call ULTIMATE.init(); {11706#true} is VALID [2022-04-28 04:12:09,897 INFO L134 CoverageAnalysis]: Checked inductivity of 44 backedges. 6 proven. 2 refuted. 0 times theorem prover too weak. 36 trivial. 0 not checked. [2022-04-28 04:12:09,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleZ3 [1488336273] provided 0 perfect and 2 imperfect interpolant sequences [2022-04-28 04:12:09,897 INFO L184 FreeRefinementEngine]: Found 0 perfect and 3 imperfect interpolant sequences. [2022-04-28 04:12:09,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [] imperfect sequences [17, 12, 11] total 31 [2022-04-28 04:12:09,897 INFO L136 FreeRefinementEngine]: Strategy ACCELERATED_INTERPOLATION found an infeasible trace [2022-04-28 04:12:09,897 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleAcceleratedInterpolation [1376647467] [2022-04-28 04:12:09,897 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleAcceleratedInterpolation [1376647467] provided 1 perfect and 0 imperfect interpolant sequences [2022-04-28 04:12:09,897 INFO L184 FreeRefinementEngine]: Found 1 perfect and 0 imperfect interpolant sequences. [2022-04-28 04:12:09,897 INFO L197 FreeRefinementEngine]: Number of different interpolants: perfect sequences [17] imperfect sequences [] total 17 [2022-04-28 04:12:09,897 INFO L121 tionRefinementEngine]: Using interpolant automaton builder IpAbStrategyModuleStraightlineAll [728354952] [2022-04-28 04:12:09,898 INFO L85 oduleStraightlineAll]: Using 1 perfect interpolants to construct interpolant automaton [2022-04-28 04:12:09,898 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.642857142857143) internal successors, (37), 14 states have internal predecessors, (37), 6 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 04:12:09,898 INFO L84 Accepts]: Finished accepts. word is accepted. [2022-04-28 04:12:09,898 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with has 17 states, 14 states have (on average 2.642857142857143) internal successors, (37), 14 states have internal predecessors, (37), 6 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:12:09,942 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 61 edges. 61 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:12:09,942 INFO L571 AbstractCegarLoop]: INTERPOLANT automaton has 17 states [2022-04-28 04:12:09,942 INFO L100 FreeRefinementEngine]: Using predicate unifier PredicateUnifier provided by strategy ACCELERATED_INTERPOLATION [2022-04-28 04:12:09,942 INFO L143 InterpolantAutomaton]: Constructing interpolant automaton starting with 17 interpolants. [2022-04-28 04:12:09,943 INFO L145 InterpolantAutomaton]: CoverageRelationStatistics Valid=103, Invalid=827, Unknown=0, NotChecked=0, Total=930 [2022-04-28 04:12:09,943 INFO L87 Difference]: Start difference. First operand 115 states and 136 transitions. Second operand has 17 states, 14 states have (on average 2.642857142857143) internal successors, (37), 14 states have internal predecessors, (37), 6 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:12:12,253 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:12:12,253 INFO L93 Difference]: Finished difference Result 135 states and 160 transitions. [2022-04-28 04:12:12,253 INFO L141 InterpolantAutomaton]: Switched to read-only mode: deterministic interpolant automaton has 17 states. [2022-04-28 04:12:12,253 INFO L78 Accepts]: Start accepts. Automaton has has 17 states, 14 states have (on average 2.642857142857143) internal successors, (37), 14 states have internal predecessors, (37), 6 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) Word has length 73 [2022-04-28 04:12:12,253 INFO L84 Accepts]: Finished accepts. some prefix is accepted. [2022-04-28 04:12:12,253 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.642857142857143) internal successors, (37), 14 states have internal predecessors, (37), 6 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:12:12,254 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 102 transitions. [2022-04-28 04:12:12,255 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 17 states, 14 states have (on average 2.642857142857143) internal successors, (37), 14 states have internal predecessors, (37), 6 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:12:12,255 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 17 states to 17 states and 102 transitions. [2022-04-28 04:12:12,256 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 17 states and 102 transitions. [2022-04-28 04:12:12,355 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-28 04:12:12,357 INFO L225 Difference]: With dead ends: 135 [2022-04-28 04:12:12,357 INFO L226 Difference]: Without dead ends: 133 [2022-04-28 04:12:12,359 INFO L412 NwaCegarLoop]: 0 DeclaredPredicates, 196 GetRequests, 148 SyntacticMatches, 6 SemanticMatches, 42 ConstructedPredicates, 0 IntricatePredicates, 0 DeprecatedPredicates, 405 ImplicationChecksByTransitivity, 0.7s TimeCoverageRelationStatistics Valid=216, Invalid=1676, Unknown=0, NotChecked=0, Total=1892 [2022-04-28 04:12:12,360 INFO L413 NwaCegarLoop]: 46 mSDtfsCounter, 96 mSDsluCounter, 24 mSDsCounter, 0 mSdLazyCounter, 1053 mSolverCounterSat, 80 mSolverCounterUnsat, 0 mSolverCounterUnknown, 0 mSolverCounterNotChecked, 0.9s Time, 0 mProtectedPredicate, 0 mProtectedAction, 97 SdHoareTripleChecker+Valid, 70 SdHoareTripleChecker+Invalid, 1133 SdHoareTripleChecker+Unknown, 0 SdHoareTripleChecker+Unchecked, 0.0s SdHoareTripleChecker+Time, 80 IncrementalHoareTripleChecker+Valid, 1053 IncrementalHoareTripleChecker+Invalid, 0 IncrementalHoareTripleChecker+Unknown, 0 IncrementalHoareTripleChecker+Unchecked, 0.9s IncrementalHoareTripleChecker+Time [2022-04-28 04:12:12,360 INFO L414 NwaCegarLoop]: SdHoareTripleChecker [97 Valid, 70 Invalid, 1133 Unknown, 0 Unchecked, 0.0s Time], IncrementalHoareTripleChecker [80 Valid, 1053 Invalid, 0 Unknown, 0 Unchecked, 0.9s Time] [2022-04-28 04:12:12,360 INFO L82 GeneralOperation]: Start minimizeSevpa. Operand 133 states. [2022-04-28 04:12:12,740 INFO L88 GeneralOperation]: Finished minimizeSevpa. Reduced states from 133 to 129. [2022-04-28 04:12:12,740 INFO L214 AbstractMinimizeNwa]: Start testing correctness of minimizeSevpa [2022-04-28 04:12:12,740 INFO L82 GeneralOperation]: Start isEquivalent. First operand 133 states. Second operand has 129 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 93 states have internal predecessors, (103), 25 states have call successors, (25), 12 states have call predecessors, (25), 13 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-04-28 04:12:12,741 INFO L74 IsIncluded]: Start isIncluded. First operand 133 states. Second operand has 129 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 93 states have internal predecessors, (103), 25 states have call successors, (25), 12 states have call predecessors, (25), 13 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-04-28 04:12:12,741 INFO L87 Difference]: Start difference. First operand 133 states. Second operand has 129 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 93 states have internal predecessors, (103), 25 states have call successors, (25), 12 states have call predecessors, (25), 13 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-04-28 04:12:12,743 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:12:12,749 INFO L93 Difference]: Finished difference Result 133 states and 158 transitions. [2022-04-28 04:12:12,749 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 158 transitions. [2022-04-28 04:12:12,749 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:12:12,749 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:12:12,749 INFO L74 IsIncluded]: Start isIncluded. First operand has 129 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 93 states have internal predecessors, (103), 25 states have call successors, (25), 12 states have call predecessors, (25), 13 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) Second operand 133 states. [2022-04-28 04:12:12,750 INFO L87 Difference]: Start difference. First operand has 129 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 93 states have internal predecessors, (103), 25 states have call successors, (25), 12 states have call predecessors, (25), 13 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) Second operand 133 states. [2022-04-28 04:12:12,751 INFO L144 Difference]: Subtrahend was deterministic. Have not used determinization. [2022-04-28 04:12:12,752 INFO L93 Difference]: Finished difference Result 133 states and 158 transitions. [2022-04-28 04:12:12,752 INFO L276 IsEmpty]: Start isEmpty. Operand 133 states and 158 transitions. [2022-04-28 04:12:12,752 INFO L282 IsEmpty]: Finished isEmpty. No accepting run. [2022-04-28 04:12:12,752 INFO L83 IsIncluded]: Finished isIncluded. Language is included [2022-04-28 04:12:12,752 INFO L88 GeneralOperation]: Finished isEquivalent. [2022-04-28 04:12:12,752 INFO L221 AbstractMinimizeNwa]: Finished testing correctness of minimizeSevpa [2022-04-28 04:12:12,752 INFO L82 GeneralOperation]: Start removeUnreachable. Operand has 129 states, 90 states have (on average 1.1444444444444444) internal successors, (103), 93 states have internal predecessors, (103), 25 states have call successors, (25), 12 states have call predecessors, (25), 13 states have return successors, (26), 23 states have call predecessors, (26), 23 states have call successors, (26) [2022-04-28 04:12:12,754 INFO L88 GeneralOperation]: Finished removeUnreachable. Reduced from 129 states to 129 states and 154 transitions. [2022-04-28 04:12:12,754 INFO L78 Accepts]: Start accepts. Automaton has 129 states and 154 transitions. Word has length 73 [2022-04-28 04:12:12,754 INFO L84 Accepts]: Finished accepts. word is rejected. [2022-04-28 04:12:12,754 INFO L495 AbstractCegarLoop]: Abstraction has 129 states and 154 transitions. [2022-04-28 04:12:12,754 INFO L496 AbstractCegarLoop]: INTERPOLANT automaton has has 17 states, 14 states have (on average 2.642857142857143) internal successors, (37), 14 states have internal predecessors, (37), 6 states have call successors, (13), 4 states have call predecessors, (13), 3 states have return successors, (11), 4 states have call predecessors, (11), 5 states have call successors, (11) [2022-04-28 04:12:12,754 INFO L86 InductivityCheck]: Starting inductivity check of a Floyd-Hoare automaton with 129 states and 154 transitions. [2022-04-28 04:12:13,032 INFO L122 InductivityCheck]: Floyd-Hoare automaton has 154 edges. 154 inductive. 0 not inductive. 0 times theorem prover too weak to decide inductivity. [2022-04-28 04:12:13,032 INFO L276 IsEmpty]: Start isEmpty. Operand 129 states and 154 transitions. [2022-04-28 04:12:13,033 INFO L282 IsEmpty]: Finished isEmpty. Found accepting run of length 77 [2022-04-28 04:12:13,033 INFO L187 NwaCegarLoop]: Found error trace [2022-04-28 04:12:13,033 INFO L195 NwaCegarLoop]: trace histogram [5, 4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1] [2022-04-28 04:12:13,049 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (10)] Forceful destruction successful, exit code 0 [2022-04-28 04:12:13,243 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 10 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable14 [2022-04-28 04:12:13,243 INFO L420 AbstractCegarLoop]: === Iteration 16 === Targeting __VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION === [__VERIFIER_assertErr0ASSERT_VIOLATIONERROR_FUNCTION] === [2022-04-28 04:12:13,244 INFO L144 PredicateUnifier]: Initialized classic predicate unifier [2022-04-28 04:12:13,244 INFO L85 PathProgramCache]: Analyzing trace with hash 680409498, now seen corresponding path program 1 times [2022-04-28 04:12:13,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy ACCELERATED_INTERPOLATION [2022-04-28 04:12:13,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleAcceleratedInterpolation [1242554747] [2022-04-28 04:12:13,244 INFO L202 tedInterpolationCore]: No loops in this trace, falling back to nested interpolation [2022-04-28 04:12:13,244 INFO L85 PathProgramCache]: Analyzing trace with hash 680409498, now seen corresponding path program 2 times [2022-04-28 04:12:13,244 INFO L118 FreeRefinementEngine]: Executing refinement strategy CAMEL [2022-04-28 04:12:13,244 INFO L333 FreeRefinementEngine]: Using trace check IpTcStrategyModuleSmtInterpolCraig [1343468795] [2022-04-28 04:12:13,244 INFO L95 rtionOrderModulation]: Keeping assertion order NOT_INCREMENTALLY [2022-04-28 04:12:13,244 INFO L127 SolverBuilder]: Constructing new instance of SMTInterpol with explicit timeout -1 ms and remaining time -1 ms [2022-04-28 04:12:13,274 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,435 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 0 [2022-04-28 04:12:13,436 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,452 INFO L290 TraceCheckUtils]: 0: Hoare triple {13122#(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(10, 2);call #Ultimate.allocInit(12, 3); {13058#true} is VALID [2022-04-28 04:12:13,452 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,452 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13058#true} {13058#true} #122#return; {13058#true} is VALID [2022-04-28 04:12:13,452 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:12:13,452 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,454 INFO L290 TraceCheckUtils]: 0: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,454 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,454 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,454 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13058#true} #98#return; {13058#true} is VALID [2022-04-28 04:12:13,464 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 12 [2022-04-28 04:12:13,465 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,467 INFO L290 TraceCheckUtils]: 0: Hoare triple {13123#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {13058#true} is VALID [2022-04-28 04:12:13,468 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,468 INFO L284 TraceCheckUtils]: 2: Hoare quadruple {13058#true} {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} #100#return; {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-28 04:12:13,468 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 17 [2022-04-28 04:12:13,475 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,479 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 1 [2022-04-28 04:12:13,479 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,481 INFO L290 TraceCheckUtils]: 0: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,481 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,481 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,481 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13058#true} #116#return; {13058#true} is VALID [2022-04-28 04:12:13,481 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 6 [2022-04-28 04:12:13,481 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,482 INFO L290 TraceCheckUtils]: 0: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,483 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,483 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,483 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13058#true} #118#return; {13058#true} is VALID [2022-04-28 04:12:13,483 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 11 [2022-04-28 04:12:13,483 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,484 INFO L290 TraceCheckUtils]: 0: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,484 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,484 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,484 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13058#true} #120#return; {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L290 TraceCheckUtils]: 0: Hoare triple {13123#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L272 TraceCheckUtils]: 1: Hoare triple {13058#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L290 TraceCheckUtils]: 3: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L290 TraceCheckUtils]: 4: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {13058#true} {13058#true} #116#return; {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L272 TraceCheckUtils]: 6: Hoare triple {13058#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L290 TraceCheckUtils]: 7: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L290 TraceCheckUtils]: 8: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L290 TraceCheckUtils]: 9: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13058#true} {13058#true} #118#return; {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L272 TraceCheckUtils]: 11: Hoare triple {13058#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,485 INFO L290 TraceCheckUtils]: 12: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,486 INFO L290 TraceCheckUtils]: 13: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,486 INFO L290 TraceCheckUtils]: 14: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,486 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13058#true} {13058#true} #120#return; {13058#true} is VALID [2022-04-28 04:12:13,486 INFO L290 TraceCheckUtils]: 16: Hoare triple {13058#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {13058#true} is VALID [2022-04-28 04:12:13,486 INFO L290 TraceCheckUtils]: 17: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,486 INFO L284 TraceCheckUtils]: 18: Hoare quadruple {13058#true} {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} #102#return; {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} is VALID [2022-04-28 04:12:13,486 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 38 [2022-04-28 04:12:13,490 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,662 INFO L290 TraceCheckUtils]: 0: Hoare triple {13123#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {13136#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} is VALID [2022-04-28 04:12:13,663 INFO L290 TraceCheckUtils]: 1: Hoare triple {13136#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {13136#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} is VALID [2022-04-28 04:12:13,664 INFO L290 TraceCheckUtils]: 2: Hoare triple {13136#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {13137#(or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (and (= (select (select |#memory_int| |finddup_#in~a.base|) 0) |finddup_#t~mem10|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (* finddup_~j~1 4))) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (= |finddup_#in~_i.base| |finddup_#in~a.base|))) (not (= |finddup_#in~a.offset| 0)))} is VALID [2022-04-28 04:12:13,665 INFO L290 TraceCheckUtils]: 3: Hoare triple {13137#(or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (and (= (select (select |#memory_int| |finddup_#in~a.base|) 0) |finddup_#t~mem10|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (* finddup_~j~1 4))) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (= |finddup_#in~_i.base| |finddup_#in~a.base|))) (not (= |finddup_#in~a.offset| 0)))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {13138#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} is VALID [2022-04-28 04:12:13,665 INFO L290 TraceCheckUtils]: 4: Hoare triple {13138#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} assume true; {13138#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} is VALID [2022-04-28 04:12:13,667 INFO L284 TraceCheckUtils]: 5: Hoare quadruple {13138#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} {13091#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} #104#return; {13098#(and (= main_~a~0.offset 0) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} is VALID [2022-04-28 04:12:13,667 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 46 [2022-04-28 04:12:13,668 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,684 INFO L290 TraceCheckUtils]: 0: Hoare triple {13058#true} ~cond := #in~cond; {13139#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:12:13,685 INFO L290 TraceCheckUtils]: 1: Hoare triple {13139#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:13,685 INFO L290 TraceCheckUtils]: 2: Hoare triple {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:13,686 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} {13099#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} #106#return; {13104#(and (= main_~a~0.offset 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} is VALID [2022-04-28 04:12:13,686 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 53 [2022-04-28 04:12:13,687 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,688 INFO L290 TraceCheckUtils]: 0: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,688 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,688 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,689 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} #108#return; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,689 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 60 [2022-04-28 04:12:13,690 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,691 INFO L290 TraceCheckUtils]: 0: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,691 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,691 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,692 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} #110#return; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,692 INFO L376 atingTraceCheckCraig]: Compute interpolants for subsequence at non-pending call position 66 [2022-04-28 04:12:13,693 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,694 INFO L290 TraceCheckUtils]: 0: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,694 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,694 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,695 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} #112#return; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,696 INFO L272 TraceCheckUtils]: 0: Hoare triple {13058#true} call ULTIMATE.init(); {13122#(and (= |#NULL.offset| |old(#NULL.offset)|) (= |old(#NULL.base)| |#NULL.base|))} is VALID [2022-04-28 04:12:13,696 INFO L290 TraceCheckUtils]: 1: Hoare triple {13122#(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(10, 2);call #Ultimate.allocInit(12, 3); {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13058#true} #122#return; {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L272 TraceCheckUtils]: 4: Hoare triple {13058#true} call #t~ret27 := main(); {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L290 TraceCheckUtils]: 5: Hoare triple {13058#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L272 TraceCheckUtils]: 6: Hoare triple {13058#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L290 TraceCheckUtils]: 7: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L290 TraceCheckUtils]: 8: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L290 TraceCheckUtils]: 9: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,696 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13058#true} {13058#true} #98#return; {13058#true} is VALID [2022-04-28 04:12:13,697 INFO L290 TraceCheckUtils]: 11: Hoare triple {13058#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-28 04:12:13,698 INFO L272 TraceCheckUtils]: 12: Hoare triple {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {13123#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:12:13,698 INFO L290 TraceCheckUtils]: 13: Hoare triple {13123#(= |#memory_int| |old(#memory_int)|)} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {13058#true} is VALID [2022-04-28 04:12:13,698 INFO L290 TraceCheckUtils]: 14: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,698 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13058#true} {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} #100#return; {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-28 04:12:13,699 INFO L290 TraceCheckUtils]: 16: Hoare triple {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} is VALID [2022-04-28 04:12:13,699 INFO L272 TraceCheckUtils]: 17: Hoare triple {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {13123#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 18: Hoare triple {13123#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L272 TraceCheckUtils]: 19: Hoare triple {13058#true} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 20: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 21: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 22: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13058#true} {13058#true} #116#return; {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L272 TraceCheckUtils]: 24: Hoare triple {13058#true} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 25: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 26: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 27: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13058#true} {13058#true} #118#return; {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L272 TraceCheckUtils]: 29: Hoare triple {13058#true} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 30: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 31: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,700 INFO L290 TraceCheckUtils]: 32: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,701 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13058#true} {13058#true} #120#return; {13058#true} is VALID [2022-04-28 04:12:13,701 INFO L290 TraceCheckUtils]: 34: Hoare triple {13058#true} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {13058#true} is VALID [2022-04-28 04:12:13,701 INFO L290 TraceCheckUtils]: 35: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,701 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13058#true} {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} #102#return; {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} is VALID [2022-04-28 04:12:13,702 INFO L290 TraceCheckUtils]: 37: Hoare triple {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {13091#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-28 04:12:13,703 INFO L272 TraceCheckUtils]: 38: Hoare triple {13091#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {13123#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:12:13,704 INFO L290 TraceCheckUtils]: 39: Hoare triple {13123#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {13136#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} is VALID [2022-04-28 04:12:13,704 INFO L290 TraceCheckUtils]: 40: Hoare triple {13136#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {13136#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} is VALID [2022-04-28 04:12:13,705 INFO L290 TraceCheckUtils]: 41: Hoare triple {13136#(and (or (not (= finddup_~a.offset 0)) (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= (+ finddup_~a.offset (* finddup_~i~1 4)) 0) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))) (or (= finddup_~a.offset 0) (= finddup_~a.offset |finddup_#in~a.offset|)))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {13137#(or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (and (= (select (select |#memory_int| |finddup_#in~a.base|) 0) |finddup_#t~mem10|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (* finddup_~j~1 4))) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (= |finddup_#in~_i.base| |finddup_#in~a.base|))) (not (= |finddup_#in~a.offset| 0)))} is VALID [2022-04-28 04:12:13,706 INFO L290 TraceCheckUtils]: 42: Hoare triple {13137#(or (and (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~_j.offset |finddup_#in~_j.offset|) (or (= |finddup_#in~_j.base| |finddup_#in~a.base|) (and (= (select (select |#memory_int| |finddup_#in~a.base|) 0) |finddup_#t~mem10|) (= finddup_~i~1 0) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (* finddup_~j~1 4))) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset)) (= |finddup_#in~_i.base| |finddup_#in~a.base|))) (not (= |finddup_#in~a.offset| 0)))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {13138#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} is VALID [2022-04-28 04:12:13,707 INFO L290 TraceCheckUtils]: 43: Hoare triple {13138#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} assume true; {13138#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} is VALID [2022-04-28 04:12:13,708 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13138#(or (and (or (= |finddup_#in~_i.base| |finddup_#in~_j.base|) (= (select (select |#memory_int| |finddup_#in~_i.base|) |finddup_#in~_i.offset|) 0)) (= (select (select |#memory_int| |finddup_#in~a.base|) 0) (select (select |#memory_int| |finddup_#in~a.base|) (* (select (select |#memory_int| |finddup_#in~_j.base|) |finddup_#in~_j.offset|) 4)))) (not (= |finddup_#in~a.offset| 0)) (= |finddup_#in~_j.base| |finddup_#in~a.base|) (= |finddup_#in~_i.base| |finddup_#in~a.base|))} {13091#(and (= main_~a~0.offset 0) (not (= main_~a~0.base |main_~#j~2.base|)) (not (= |main_~#i~2.base| main_~a~0.base)) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} #104#return; {13098#(and (= main_~a~0.offset 0) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} is VALID [2022-04-28 04:12:13,709 INFO L290 TraceCheckUtils]: 45: Hoare triple {13098#(and (= main_~a~0.offset 0) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= |main_#t~ret14| 0) (= |main_~#i~2.base| |main_~#j~2.base|))) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {13099#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} is VALID [2022-04-28 04:12:13,709 INFO L272 TraceCheckUtils]: 46: Hoare triple {13099#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} call __VERIFIER_assert(~r~0); {13058#true} is VALID [2022-04-28 04:12:13,709 INFO L290 TraceCheckUtils]: 47: Hoare triple {13058#true} ~cond := #in~cond; {13139#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:12:13,709 INFO L290 TraceCheckUtils]: 48: Hoare triple {13139#(= |__VERIFIER_assert_#in~cond| __VERIFIER_assert_~cond)} assume !(0 == ~cond); {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:13,709 INFO L290 TraceCheckUtils]: 49: Hoare triple {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} assume true; {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:13,710 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} {13099#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)) (or (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (and (= main_~r~0 0) (= |main_~#i~2.base| |main_~#j~2.base|))))} #106#return; {13104#(and (= main_~a~0.offset 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} is VALID [2022-04-28 04:12:13,711 INFO L290 TraceCheckUtils]: 51: Hoare triple {13104#(and (= main_~a~0.offset 0) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)) (select (select |#memory_int| main_~a~0.base) 0)))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {13105#(and (or (not |main_#t~short17|) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))) (= main_~a~0.offset 0))} is VALID [2022-04-28 04:12:13,711 INFO L290 TraceCheckUtils]: 52: Hoare triple {13105#(and (or (not |main_#t~short17|) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4)))) (= main_~a~0.offset 0))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,711 INFO L272 TraceCheckUtils]: 53: Hoare triple {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,711 INFO L290 TraceCheckUtils]: 54: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,711 INFO L290 TraceCheckUtils]: 55: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,712 INFO L290 TraceCheckUtils]: 56: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,712 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13058#true} {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} #108#return; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,713 INFO L290 TraceCheckUtils]: 58: Hoare triple {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,713 INFO L290 TraceCheckUtils]: 59: Hoare triple {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,713 INFO L272 TraceCheckUtils]: 60: Hoare triple {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,713 INFO L290 TraceCheckUtils]: 61: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,713 INFO L290 TraceCheckUtils]: 62: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,713 INFO L290 TraceCheckUtils]: 63: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,714 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13058#true} {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} #110#return; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,714 INFO L290 TraceCheckUtils]: 65: Hoare triple {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} havoc #t~mem18;havoc #t~mem19;havoc #t~short20;call #t~mem21 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem22 := read~int(~#j~2.base, ~#j~2.offset, 4); {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,714 INFO L272 TraceCheckUtils]: 66: Hoare triple {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} call __VERIFIER_assert((if #t~mem21 != #t~mem22 then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:13,715 INFO L290 TraceCheckUtils]: 67: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:13,715 INFO L290 TraceCheckUtils]: 68: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:13,715 INFO L290 TraceCheckUtils]: 69: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:13,715 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {13058#true} {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} #112#return; {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} is VALID [2022-04-28 04:12:13,716 INFO L290 TraceCheckUtils]: 71: Hoare triple {13106#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| main_~a~0.base) (* 4 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|))) (select (select |#memory_int| main_~a~0.base) (* (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 4))))} havoc #t~mem21;havoc #t~mem22;call #t~mem23 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem25 := read~int(~a~0.base, ~a~0.offset + 4 * #t~mem23, 4);call #t~mem24 := read~int(~#j~2.base, ~#j~2.offset, 4);call #t~mem26 := read~int(~a~0.base, ~a~0.offset + 4 * #t~mem24, 4); {13119#(= |main_#t~mem26| |main_#t~mem25|)} is VALID [2022-04-28 04:12:13,716 INFO L272 TraceCheckUtils]: 72: Hoare triple {13119#(= |main_#t~mem26| |main_#t~mem25|)} call __VERIFIER_assert((if #t~mem25 == #t~mem26 then 1 else 0)); {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} is VALID [2022-04-28 04:12:13,717 INFO L290 TraceCheckUtils]: 73: Hoare triple {13120#(not (= |__VERIFIER_assert_#in~cond| 0))} ~cond := #in~cond; {13121#(not (= __VERIFIER_assert_~cond 0))} is VALID [2022-04-28 04:12:13,717 INFO L290 TraceCheckUtils]: 74: Hoare triple {13121#(not (= __VERIFIER_assert_~cond 0))} assume 0 == ~cond; {13059#false} is VALID [2022-04-28 04:12:13,717 INFO L290 TraceCheckUtils]: 75: Hoare triple {13059#false} assume !false; {13059#false} is VALID [2022-04-28 04:12:13,717 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 7 proven. 10 refuted. 0 times theorem prover too weak. 39 trivial. 0 not checked. [2022-04-28 04:12:13,717 INFO L136 FreeRefinementEngine]: Strategy CAMEL found an infeasible trace [2022-04-28 04:12:13,717 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleSmtInterpolCraig [1343468795] [2022-04-28 04:12:13,718 INFO L157 FreeRefinementEngine]: IpTcStrategyModuleSmtInterpolCraig [1343468795] provided 0 perfect and 1 imperfect interpolant sequences [2022-04-28 04:12:13,718 INFO L333 FreeRefinementEngine]: Using interpolant generator IpTcStrategyModuleZ3 [1382851747] [2022-04-28 04:12:13,718 INFO L93 rtionOrderModulation]: Changing assertion order to OUTSIDE_LOOP_FIRST1 [2022-04-28 04:12:13,718 INFO L173 SolverBuilder]: Constructing external solver with command: z3 -smt2 -in SMTLIB2_COMPLIANT=true [2022-04-28 04:12:13,718 INFO L189 MonitoredProcess]: No working directory specified, using /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 [2022-04-28 04:12:13,719 INFO L229 MonitoredProcess]: Starting monitored process 11 with /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (exit command is (exit), workingDir is null) [2022-04-28 04:12:13,721 INFO L327 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Waiting until timeout for monitored process [2022-04-28 04:12:13,812 INFO L228 tOrderPrioritization]: Assert order OUTSIDE_LOOP_FIRST1 issued 2 check-sat command(s) [2022-04-28 04:12:13,812 INFO L229 tOrderPrioritization]: Conjunction of SSA is unsat [2022-04-28 04:12:13,814 INFO L263 TraceCheckSpWp]: Trace formula consists of 305 conjuncts, 84 conjunts are in the unsatisfiable core [2022-04-28 04:12:13,829 INFO L136 AnnotateAndAsserter]: Conjunction of SSA is unsat [2022-04-28 04:12:13,831 INFO L286 TraceCheckSpWp]: Computing forward predicates... [2022-04-28 04:12:13,956 INFO L356 Elim1Store]: treesize reduction 29, result has 39.6 percent of original size [2022-04-28 04:12:13,957 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 0 select indices, 0 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 0 new quantified variables, introduced 1 case distinctions, treesize of input 22 treesize of output 31 [2022-04-28 04:12:14,006 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 10 treesize of output 8 [2022-04-28 04:12:14,274 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 04:12:14,275 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 04:12:14,276 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 04:12:14,277 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 1 stores, 2 select indices, 2 select index equivalence classes, 5 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 0 case distinctions, treesize of input 41 treesize of output 34 [2022-04-28 04:12:23,269 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 04:12:23,270 INFO L190 IndexEqualityManager]: detected not equals via solver [2022-04-28 04:12:23,291 INFO L356 Elim1Store]: treesize reduction 38, result has 22.4 percent of original size [2022-04-28 04:12:23,292 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 2, 0 stores, 6 select indices, 6 select index equivalence classes, 3 disjoint index pairs (out of 15 index pairs), introduced 8 new quantified variables, introduced 6 case distinctions, treesize of input 52 treesize of output 36 [2022-04-28 04:12:23,378 INFO L272 TraceCheckUtils]: 0: Hoare triple {13058#true} call ULTIMATE.init(); {13058#true} is VALID [2022-04-28 04:12:23,378 INFO L290 TraceCheckUtils]: 1: Hoare triple {13058#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(10, 2);call #Ultimate.allocInit(12, 3); {13058#true} is VALID [2022-04-28 04:12:23,378 INFO L290 TraceCheckUtils]: 2: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:23,378 INFO L284 TraceCheckUtils]: 3: Hoare quadruple {13058#true} {13058#true} #122#return; {13058#true} is VALID [2022-04-28 04:12:23,378 INFO L272 TraceCheckUtils]: 4: Hoare triple {13058#true} call #t~ret27 := main(); {13058#true} is VALID [2022-04-28 04:12:23,378 INFO L290 TraceCheckUtils]: 5: Hoare triple {13058#true} assume -2147483648 <= #t~nondet12 && #t~nondet12 <= 2147483647;~n~0 := #t~nondet12;havoc #t~nondet12; {13058#true} is VALID [2022-04-28 04:12:23,378 INFO L272 TraceCheckUtils]: 6: Hoare triple {13058#true} call assume_abort_if_not((if ~n~0 >= 0 && ~n~0 < 1073741824 then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:23,378 INFO L290 TraceCheckUtils]: 7: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:23,378 INFO L290 TraceCheckUtils]: 8: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:23,379 INFO L290 TraceCheckUtils]: 9: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:23,379 INFO L284 TraceCheckUtils]: 10: Hoare quadruple {13058#true} {13058#true} #98#return; {13058#true} is VALID [2022-04-28 04:12:23,379 INFO L290 TraceCheckUtils]: 11: Hoare triple {13058#true} call #t~malloc13.base, #t~malloc13.offset := #Ultimate.allocOnHeap(4 * ~n~0); {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-28 04:12:23,379 INFO L272 TraceCheckUtils]: 12: Hoare triple {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} call #Ultimate.meminit(#t~malloc13.base, #t~malloc13.offset, ~n~0, 4, 4 * ~n~0); {13058#true} is VALID [2022-04-28 04:12:23,379 INFO L290 TraceCheckUtils]: 13: Hoare triple {13058#true} #memory_int := ~initToZeroAtPointerBaseAddress~int(#memory_int, #ptr.base); {13058#true} is VALID [2022-04-28 04:12:23,379 INFO L290 TraceCheckUtils]: 14: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:23,380 INFO L284 TraceCheckUtils]: 15: Hoare quadruple {13058#true} {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} #100#return; {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} is VALID [2022-04-28 04:12:23,380 INFO L290 TraceCheckUtils]: 16: Hoare triple {13067#(and (= |main_#t~malloc13.offset| 0) (<= (+ |main_#t~malloc13.base| 1) |#StackHeapBarrier|))} ~a~0.base, ~a~0.offset := #t~malloc13.base, #t~malloc13.offset; {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} is VALID [2022-04-28 04:12:23,380 INFO L272 TraceCheckUtils]: 17: Hoare triple {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} call mkdup(~a~0.base, ~a~0.offset, ~n~0); {13058#true} is VALID [2022-04-28 04:12:23,381 INFO L290 TraceCheckUtils]: 18: Hoare triple {13058#true} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;assume -2147483648 <= #t~nondet5 && #t~nondet5 <= 2147483647;~i~0 := #t~nondet5;havoc #t~nondet5;assume -2147483648 <= #t~nondet6 && #t~nondet6 <= 2147483647;~j~0 := #t~nondet6;havoc #t~nondet6; {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} is VALID [2022-04-28 04:12:23,381 INFO L272 TraceCheckUtils]: 19: Hoare triple {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} call assume_abort_if_not((if 0 <= ~i~0 && ~i~0 < ~n then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:23,381 INFO L290 TraceCheckUtils]: 20: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:23,381 INFO L290 TraceCheckUtils]: 21: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:23,381 INFO L290 TraceCheckUtils]: 22: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:23,381 INFO L284 TraceCheckUtils]: 23: Hoare quadruple {13058#true} {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} #116#return; {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} is VALID [2022-04-28 04:12:23,382 INFO L272 TraceCheckUtils]: 24: Hoare triple {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} call assume_abort_if_not((if 0 <= ~j~0 && ~j~0 < ~n then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:23,382 INFO L290 TraceCheckUtils]: 25: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:23,382 INFO L290 TraceCheckUtils]: 26: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:23,382 INFO L290 TraceCheckUtils]: 27: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:23,382 INFO L284 TraceCheckUtils]: 28: Hoare quadruple {13058#true} {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} #118#return; {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} is VALID [2022-04-28 04:12:23,382 INFO L272 TraceCheckUtils]: 29: Hoare triple {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} call assume_abort_if_not((if ~i~0 != ~j~0 then 1 else 0)); {13058#true} is VALID [2022-04-28 04:12:23,382 INFO L290 TraceCheckUtils]: 30: Hoare triple {13058#true} ~cond := #in~cond; {13058#true} is VALID [2022-04-28 04:12:23,382 INFO L290 TraceCheckUtils]: 31: Hoare triple {13058#true} assume !(0 == ~cond); {13058#true} is VALID [2022-04-28 04:12:23,382 INFO L290 TraceCheckUtils]: 32: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:23,383 INFO L284 TraceCheckUtils]: 33: Hoare quadruple {13058#true} {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} #120#return; {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} is VALID [2022-04-28 04:12:23,383 INFO L290 TraceCheckUtils]: 34: Hoare triple {13197#(= mkdup_~a.base |mkdup_#in~a.base|)} assume -2147483648 <= #t~nondet7 && #t~nondet7 <= 2147483647;~x~0 := #t~nondet7;havoc #t~nondet7;call write~int(~x~0, ~a.base, ~a.offset + 4 * ~i~0, 4);call write~int(~x~0, ~a.base, ~a.offset + 4 * ~j~0, 4); {13058#true} is VALID [2022-04-28 04:12:23,383 INFO L290 TraceCheckUtils]: 35: Hoare triple {13058#true} assume true; {13058#true} is VALID [2022-04-28 04:12:23,384 INFO L284 TraceCheckUtils]: 36: Hoare quadruple {13058#true} {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} #102#return; {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} is VALID [2022-04-28 04:12:23,384 INFO L290 TraceCheckUtils]: 37: Hoare triple {13071#(and (<= (+ main_~a~0.base 1) |#StackHeapBarrier|) (= main_~a~0.offset 0))} call ~#i~2.base, ~#i~2.offset := #Ultimate.allocOnStack(4);call ~#j~2.base, ~#j~2.offset := #Ultimate.allocOnStack(4); {13255#(and (= main_~a~0.offset 0) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} is VALID [2022-04-28 04:12:23,385 INFO L272 TraceCheckUtils]: 38: Hoare triple {13255#(and (= main_~a~0.offset 0) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} call #t~ret14 := finddup(~a~0.base, ~a~0.offset, ~n~0, ~#i~2.base, ~#i~2.offset, ~#j~2.base, ~#j~2.offset); {13123#(= |#memory_int| |old(#memory_int)|)} is VALID [2022-04-28 04:12:23,386 INFO L290 TraceCheckUtils]: 39: Hoare triple {13123#(= |#memory_int| |old(#memory_int)|)} ~a.base, ~a.offset := #in~a.base, #in~a.offset;~n := #in~n;~_i.base, ~_i.offset := #in~_i.base, #in~_i.offset;~_j.base, ~_j.offset := #in~_j.base, #in~_j.offset;havoc ~i~1;havoc ~j~1;~i~1 := 0; {13262#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:23,386 INFO L290 TraceCheckUtils]: 40: Hoare triple {13262#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~i~1 < ~n);~j~1 := 1 + ~i~1; {13266#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:23,387 INFO L290 TraceCheckUtils]: 41: Hoare triple {13266#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~a.offset |finddup_#in~a.offset|) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#in~a.base| finddup_~a.base) (= |finddup_#in~_i.base| finddup_~_i.base) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume !!(~j~1 < ~n);call #t~mem10 := read~int(~a.base, ~a.offset + 4 * ~i~1, 4);call #t~mem11 := read~int(~a.base, ~a.offset + 4 * ~j~1, 4); {13270#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= |finddup_#in~_i.base| finddup_~_i.base) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} is VALID [2022-04-28 04:12:23,387 INFO L290 TraceCheckUtils]: 42: Hoare triple {13270#(and (= |#memory_int| |old(#memory_int)|) (= |finddup_#in~_j.base| finddup_~_j.base) (= finddup_~i~1 0) (= finddup_~_j.offset |finddup_#in~_j.offset|) (= finddup_~j~1 (+ finddup_~i~1 1)) (= |finddup_#t~mem11| (select (select |#memory_int| |finddup_#in~a.base|) (+ (* finddup_~j~1 4) |finddup_#in~a.offset|))) (= |finddup_#in~_i.base| finddup_~_i.base) (= (select (select |#memory_int| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| (* finddup_~i~1 4))) |finddup_#t~mem10|) (= |finddup_#in~_i.offset| finddup_~_i.offset))} assume #t~mem10 == #t~mem11;havoc #t~mem10;havoc #t~mem11;call write~int(~i~1, ~_i.base, ~_i.offset, 4);call write~int(~j~1, ~_j.base, ~_j.offset, 4);#res := 1; {13274#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 1))))} is VALID [2022-04-28 04:12:23,388 INFO L290 TraceCheckUtils]: 43: Hoare triple {13274#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 1))))} assume true; {13274#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 1))))} is VALID [2022-04-28 04:12:23,389 INFO L284 TraceCheckUtils]: 44: Hoare quadruple {13274#(and (= (select (select |old(#memory_int)| |finddup_#in~a.base|) (+ |finddup_#in~a.offset| 4)) (select (select |old(#memory_int)| |finddup_#in~a.base|) |finddup_#in~a.offset|)) (= |#memory_int| (store (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base| (store (select (store |old(#memory_int)| |finddup_#in~_i.base| (store (select |old(#memory_int)| |finddup_#in~_i.base|) |finddup_#in~_i.offset| 0)) |finddup_#in~_j.base|) |finddup_#in~_j.offset| 1))))} {13255#(and (= main_~a~0.offset 0) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (not (= |main_~#i~2.base| |main_~#j~2.base|)))} #104#return; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,390 INFO L290 TraceCheckUtils]: 45: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume -2147483648 <= #t~ret14 && #t~ret14 <= 2147483647;~r~0 := #t~ret14;havoc #t~ret14; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,391 INFO L272 TraceCheckUtils]: 46: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call __VERIFIER_assert(~r~0); {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,392 INFO L290 TraceCheckUtils]: 47: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} ~cond := #in~cond; {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,393 INFO L290 TraceCheckUtils]: 48: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} assume !(0 == ~cond); {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,394 INFO L290 TraceCheckUtils]: 49: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} assume true; {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,394 INFO L284 TraceCheckUtils]: 50: Hoare quadruple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} #106#return; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,395 INFO L290 TraceCheckUtils]: 51: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call #t~mem15 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := 0 <= #t~mem15; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,395 INFO L290 TraceCheckUtils]: 52: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume #t~short17;call #t~mem16 := read~int(~#i~2.base, ~#i~2.offset, 4);#t~short17 := #t~mem16 < ~n~0; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,397 INFO L272 TraceCheckUtils]: 53: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call __VERIFIER_assert((if #t~short17 then 1 else 0)); {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,397 INFO L290 TraceCheckUtils]: 54: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} ~cond := #in~cond; {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,398 INFO L290 TraceCheckUtils]: 55: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} assume !(0 == ~cond); {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,399 INFO L290 TraceCheckUtils]: 56: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} assume true; {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,400 INFO L284 TraceCheckUtils]: 57: Hoare quadruple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} #108#return; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,400 INFO L290 TraceCheckUtils]: 58: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem15;havoc #t~mem16;havoc #t~short17;call #t~mem18 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := 0 <= #t~mem18; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,401 INFO L290 TraceCheckUtils]: 59: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} assume #t~short20;call #t~mem19 := read~int(~#j~2.base, ~#j~2.offset, 4);#t~short20 := #t~mem19 < ~n~0; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,402 INFO L272 TraceCheckUtils]: 60: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call __VERIFIER_assert((if #t~short20 then 1 else 0)); {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,403 INFO L290 TraceCheckUtils]: 61: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} ~cond := #in~cond; {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,403 INFO L290 TraceCheckUtils]: 62: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} assume !(0 == ~cond); {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,404 INFO L290 TraceCheckUtils]: 63: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} assume true; {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,405 INFO L284 TraceCheckUtils]: 64: Hoare quadruple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} #110#return; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,405 INFO L290 TraceCheckUtils]: 65: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem18;havoc #t~mem19;havoc #t~short20;call #t~mem21 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem22 := read~int(~#j~2.base, ~#j~2.offset, 4); {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,407 INFO L272 TraceCheckUtils]: 66: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} call __VERIFIER_assert((if #t~mem21 != #t~mem22 then 1 else 0)); {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,407 INFO L290 TraceCheckUtils]: 67: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} ~cond := #in~cond; {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,408 INFO L290 TraceCheckUtils]: 68: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} assume !(0 == ~cond); {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,409 INFO L290 TraceCheckUtils]: 69: Hoare triple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} assume true; {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} is VALID [2022-04-28 04:12:23,410 INFO L284 TraceCheckUtils]: 70: Hoare quadruple {13288#(exists ((v_main_~a~0.base_BEFORE_CALL_10 Int) (|v_main_~#i~2.base_BEFORE_CALL_22| Int) (|v_main_~#j~2.base_BEFORE_CALL_21| Int)) (and (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#i~2.base_BEFORE_CALL_22|) (= (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 0) (select (select |#memory_int| v_main_~a~0.base_BEFORE_CALL_10) 4)) (= (select (select |#memory_int| |v_main_~#j~2.base_BEFORE_CALL_21|) 0) 1) (< (+ v_main_~a~0.base_BEFORE_CALL_10 1) |v_main_~#j~2.base_BEFORE_CALL_21|) (= (select (select |#memory_int| |v_main_~#i~2.base_BEFORE_CALL_22|) 0) 0)))} {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} #112#return; {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} is VALID [2022-04-28 04:12:23,410 INFO L290 TraceCheckUtils]: 71: Hoare triple {13281#(and (= main_~a~0.offset 0) (= (select (select |#memory_int| |main_~#j~2.base|) |main_~#j~2.offset|) 1) (= 0 (select (select |#memory_int| |main_~#i~2.base|) |main_~#i~2.offset|)) (= |main_~#j~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#i~2.base|) (= |main_~#i~2.offset| 0) (< (+ main_~a~0.base 1) |main_~#j~2.base|) (= (select (select |#memory_int| main_~a~0.base) (+ main_~a~0.offset 4)) (select (select |#memory_int| main_~a~0.base) main_~a~0.offset)))} havoc #t~mem21;havoc #t~mem22;call #t~mem23 := read~int(~#i~2.base, ~#i~2.offset, 4);call #t~mem25 := read~int(~a~0.base, ~a~0.offset + 4 * #t~mem23, 4);call #t~mem24 := read~int(~#j~2.base, ~#j~2.offset, 4);call #t~mem26 := read~int(~a~0.base, ~a~0.offset + 4 * #t~mem24, 4); {13119#(= |main_#t~mem26| |main_#t~mem25|)} is VALID [2022-04-28 04:12:23,411 INFO L272 TraceCheckUtils]: 72: Hoare triple {13119#(= |main_#t~mem26| |main_#t~mem25|)} call __VERIFIER_assert((if #t~mem25 == #t~mem26 then 1 else 0)); {13367#(<= 1 |__VERIFIER_assert_#in~cond|)} is VALID [2022-04-28 04:12:23,411 INFO L290 TraceCheckUtils]: 73: Hoare triple {13367#(<= 1 |__VERIFIER_assert_#in~cond|)} ~cond := #in~cond; {13371#(<= 1 __VERIFIER_assert_~cond)} is VALID [2022-04-28 04:12:23,411 INFO L290 TraceCheckUtils]: 74: Hoare triple {13371#(<= 1 __VERIFIER_assert_~cond)} assume 0 == ~cond; {13059#false} is VALID [2022-04-28 04:12:23,411 INFO L290 TraceCheckUtils]: 75: Hoare triple {13059#false} assume !false; {13059#false} is VALID [2022-04-28 04:12:23,412 INFO L134 CoverageAnalysis]: Checked inductivity of 56 backedges. 0 proven. 8 refuted. 0 times theorem prover too weak. 48 trivial. 0 not checked. [2022-04-28 04:12:23,412 INFO L328 TraceCheckSpWp]: Computing backward predicates... [2022-04-28 04:12:24,232 INFO L173 IndexEqualityManager]: detected equality via solver [2022-04-28 04:12:24,235 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 1 select indices, 1 select index equivalence classes, 0 disjoint index pairs (out of 0 index pairs), introduced 1 new quantified variables, introduced 0 case distinctions, treesize of input 6 treesize of output 4 [2022-04-28 04:12:28,710 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 43912 treesize of output 43532 [2022-04-28 04:12:30,630 INFO L356 Elim1Store]: treesize reduction 9, result has 10.0 percent of original size [2022-04-28 04:12:30,631 INFO L390 Elim1Store]: Elim1 did not use preprocessing eliminated variable of array dimension 1, 0 stores, 2 select indices, 2 select index equivalence classes, 0 disjoint index pairs (out of 1 index pairs), introduced 2 new quantified variables, introduced 1 case distinctions, treesize of input 40454 treesize of output 39782 [2022-04-28 04:12:30,946 WARN L319 FreeRefinementEngine]: Global settings require throwing the following exception [2022-04-28 04:12:30,962 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true (11)] Forceful destruction successful, exit code 0 [2022-04-28 04:12:31,149 WARN L477 AbstractCegarLoop]: Destroyed unattended storables created during the last iteration: 11 /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 -smt2 -in SMTLIB2_COMPLIANT=true,SelfDestructingSolverStorable15 [2022-04-28 04:12:31,149 FATAL L? ?]: The Plugin de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction has thrown an exception: java.lang.ArithmeticException: BigInteger out of long range at java.base/java.math.BigInteger.longValueExact(BigInteger.java:4765) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.computeDerApplicabilityScore(QuantifierPusher.java:606) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.selectBestEliminatee(QuantifierPusher.java:589) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushUtilsForSubsetPush.sequentialSubsetPush(QuantifierPushUtilsForSubsetPush.java:135) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective2(QuantifierPusher.java:389) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.QuantifierPusher.tryToPushOverDualFiniteConnective(QuantifierPusher.java:346) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:175) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.convert(QuantifierPushTermWalker.java:1) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:65) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.TermContextTransformationEngine.transform(TermContextTransformationEngine.java:61) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:264) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.QuantifierPushTermWalker.eliminate(QuantifierPushTermWalker.java:250) at de.uni_freiburg.informatik.ultimate.lib.smtlibutils.quantifier.PartialQuantifierElimination.eliminate(PartialQuantifierElimination.java:92) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer$QuantifierEliminationPostprocessor.postprocess(IterativePredicateTransformer.java:238) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.applyPostprocessors(IterativePredicateTransformer.java:420) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeBackwardSequence(IterativePredicateTransformer.java:364) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.predicates.IterativePredicateTransformer.computeWeakestPreconditionSequence(IterativePredicateTransformer.java:271) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolantsUsingUnsatCore(TraceCheckSpWp.java:342) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.computeInterpolants(TraceCheckSpWp.java:185) at de.uni_freiburg.informatik.ultimate.lib.tracecheckerutils.singletracecheck.TraceCheckSpWp.(TraceCheckSpWp.java:163) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:108) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleSpWp.construct(IpTcStrategyModuleSpWp.java:1) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getInterpolantComputationStatus(IpTcStrategyModuleBase.java:77) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.tryExecuteInterpolantGenerator(AutomatonFreeRefinementEngine.java:266) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.generateProof(AutomatonFreeRefinementEngine.java:147) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:137) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolationCore.runStrategy(AcceleratedInterpolationCore.java:300) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolationCore.acceleratedInterpolationCoreIsCorrect(AcceleratedInterpolationCore.java:203) at de.uni_freiburg.informatik.ultimate.lib.acceleratedinterpolation.AcceleratedInterpolation.(AcceleratedInterpolation.java:195) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleAcceleratedInterpolation.construct(IpTcStrategyModuleAcceleratedInterpolation.java:80) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.getOrConstruct(IpTcStrategyModuleBase.java:101) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.IpTcStrategyModuleBase.isCorrect(IpTcStrategyModuleBase.java:57) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.checkFeasibility(AutomatonFreeRefinementEngine.java:209) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.executeStrategy(AutomatonFreeRefinementEngine.java:121) at de.uni_freiburg.informatik.ultimate.lib.modelcheckerutils.tracehandling.AutomatonFreeRefinementEngine.(AutomatonFreeRefinementEngine.java:85) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.tracehandling.TraceAbstractionRefinementEngine.(TraceAbstractionRefinementEngine.java:82) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.BasicCegarLoop.isCounterexampleFeasible(BasicCegarLoop.java:248) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.iterate(AbstractCegarLoop.java:431) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.startCegar(AbstractCegarLoop.java:366) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.AbstractCegarLoop.runCegar(AbstractCegarLoop.java:348) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.executeCegarLoop(TraceAbstractionStarter.java:409) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseProgram(TraceAbstractionStarter.java:300) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.analyseSequentialProgram(TraceAbstractionStarter.java:260) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.runCegarLoops(TraceAbstractionStarter.java:173) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionStarter.(TraceAbstractionStarter.java:152) at de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction.TraceAbstractionObserver.finish(TraceAbstractionObserver.java:123) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runObserver(PluginConnector.java:168) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.runTool(PluginConnector.java:151) at de.uni_freiburg.informatik.ultimate.core.coreplugin.PluginConnector.run(PluginConnector.java:128) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.executePluginConnector(ToolchainWalker.java:232) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.processPlugin(ToolchainWalker.java:226) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walkUnprotected(ToolchainWalker.java:142) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainWalker.walk(ToolchainWalker.java:104) at de.uni_freiburg.informatik.ultimate.core.coreplugin.ToolchainManager$Toolchain.processToolchain(ToolchainManager.java:320) at de.uni_freiburg.informatik.ultimate.core.coreplugin.toolchain.DefaultToolchainJob.run(DefaultToolchainJob.java:145) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63) [2022-04-28 04:12:31,156 INFO L158 Benchmark]: Toolchain (without parser) took 127012.72ms. Allocated memory was 229.6MB in the beginning and 398.5MB in the end (delta: 168.8MB). Free memory was 181.6MB in the beginning and 262.5MB in the end (delta: -80.9MB). Peak memory consumption was 223.5MB. Max. memory is 8.0GB. [2022-04-28 04:12:31,156 INFO L158 Benchmark]: CDTParser took 0.09ms. Allocated memory is still 229.6MB. Free memory is still 198.2MB. There was no memory consumed. Max. memory is 8.0GB. [2022-04-28 04:12:31,157 INFO L158 Benchmark]: CACSL2BoogieTranslator took 247.81ms. Allocated memory is still 229.6MB. Free memory was 181.4MB in the beginning and 204.8MB in the end (delta: -23.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. [2022-04-28 04:12:31,157 INFO L158 Benchmark]: Boogie Preprocessor took 41.96ms. Allocated memory is still 229.6MB. Free memory was 204.8MB in the beginning and 202.7MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. [2022-04-28 04:12:31,157 INFO L158 Benchmark]: RCFGBuilder took 401.80ms. Allocated memory is still 229.6MB. Free memory was 202.7MB in the beginning and 185.9MB in the end (delta: 16.8MB). Peak memory consumption was 16.8MB. Max. memory is 8.0GB. [2022-04-28 04:12:31,157 INFO L158 Benchmark]: TraceAbstraction took 126316.81ms. Allocated memory was 229.6MB in the beginning and 398.5MB in the end (delta: 168.8MB). Free memory was 185.5MB in the beginning and 262.5MB in the end (delta: -77.0MB). Peak memory consumption was 227.9MB. Max. memory is 8.0GB. [2022-04-28 04:12:31,158 INFO L339 ainManager$Toolchain]: ####################### End [Toolchain 1] ####################### --- Results --- * Results from de.uni_freiburg.informatik.ultimate.core: - AssertionsEnabledResult: Assertions are enabled Assertions are enabled - StatisticsResult: Toolchain Benchmarks Benchmark results are: * CDTParser took 0.09ms. Allocated memory is still 229.6MB. Free memory is still 198.2MB. There was no memory consumed. Max. memory is 8.0GB. * CACSL2BoogieTranslator took 247.81ms. Allocated memory is still 229.6MB. Free memory was 181.4MB in the beginning and 204.8MB in the end (delta: -23.3MB). Peak memory consumption was 11.5MB. Max. memory is 8.0GB. * Boogie Preprocessor took 41.96ms. Allocated memory is still 229.6MB. Free memory was 204.8MB in the beginning and 202.7MB in the end (delta: 2.1MB). Peak memory consumption was 2.1MB. Max. memory is 8.0GB. * RCFGBuilder took 401.80ms. Allocated memory is still 229.6MB. Free memory was 202.7MB in the beginning and 185.9MB in the end (delta: 16.8MB). Peak memory consumption was 16.8MB. Max. memory is 8.0GB. * TraceAbstraction took 126316.81ms. Allocated memory was 229.6MB in the beginning and 398.5MB in the end (delta: 168.8MB). Free memory was 185.5MB in the beginning and 262.5MB in the end (delta: -77.0MB). Peak memory consumption was 227.9MB. Max. memory is 8.0GB. * Results from de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: - ExceptionOrErrorResult: ArithmeticException: BigInteger out of long range de.uni_freiburg.informatik.ultimate.plugins.generator.traceabstraction: ArithmeticException: BigInteger out of long range: java.base/java.math.BigInteger.longValueExact(BigInteger.java:4765) RESULT: Ultimate could not prove your program: Toolchain returned no result. [2022-04-28 04:12:31,331 INFO L540 MonitoredProcess]: [MP /storage/repos/ultimate/releaseScripts/default/UAutomizer-linux/z3 SMTLIB2_COMPLIANT=true -memory:2024 -smt2 -in -t:2000 (1)] Forceful destruction successful, exit code 0 Received shutdown request...